OpenGl編程指南里面的源代碼有個用幾何著色器渲染兩個四面體的例子,實際通過幾何著色器輸出左側四面體資料到feedback Object的0號系結點的快取中,將右側的四面體資料輸入到feedback Object的1號系結點的快取中,然后再用glDrawTransformFeedbackStream函式渲染。
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glBindVertexArray(vaos[0]);
glDrawTransformFeedbackStream(GL_TRIANGLES, Tfb, 0);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glBindVertexArray(vaos[1]);
glDrawTransformFeedbackStream(GL_TRIANGLES, Tfb, 1);
因而左側四面體是填充模式,右側四面體是線框模式,但是我將glDrawTransformFeedbackStream的index引數交換,變成
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glBindVertexArray(vaos[0]);
glDrawTransformFeedbackStream(GL_TRIANGLES, Tfb, 1);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glBindVertexArray(vaos[1]);
glDrawTransformFeedbackStream(GL_TRIANGLES, Tfb, 0);
應該左側四面體是線框模式,而右側四面體是填充模式,但實際卻仍然為左側四面體是填充模式,右側四面體是線框模式,也就是修改引數后并沒有發生變化,這是為什么呢?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/239736.html
標籤:OpenAPI
