在阅读了Jason Ekstrand在adding the transform feedback extension to Vulkan上的博客后,他指出,变换反馈缓冲区中的基本体不能保证反映输入缓冲区中基本体的顺序和数量,因为几何体和镶嵌着色器中所做的更改,以及复合基本体的使用,如GL_TRIANGLE_STRIP
。
这完全有道理。但我只想确认一下,如果:
- 您没有使用几何体或细分着色器,并且
- 您仅使用
GL_POINTS
、GL_LINES
或GL_TRIANGLES
的基本原语
...则变换反馈中的顶点顺序将保证与源缓冲区中的顶点匹配。例如,剔除和裁剪在单个变换反馈过程中永远不会是问题,而且三角形的正面也将被保留。我说的对吗?
1条答案
按热度按时间oyxsuwqo1#
OpenGL维基声明:
每个原语都是按照给定的顺序编写的。在一个基本体内部,写入顶点数据的顺序是基本体组装后的顶点顺序。这意味着,例如,当使用三角形条带绘制时,捕获的基本体将每隔一个三角形切换两个顶点的顺序。这确保了面剔除仍将遵循顶点数据的初始数组中提供的顺序。