如果我有4个顶点,我按此顺序渲染:
2-3
|\|
0-1
使用GL_TRIANGLE_STRIP
然后我启用背面剔除,正面定义为CCW,然后左下角三角形面向我而另一面不是?如果是这样,那么渲染正方形以使两个面都可见的最有效方法是什么?我是否必须使用GL_TRIANGLES
并传递6个顶点而不是4?
答案 0 :(得分:4)
三角形条带中的所有三角形都保持相同的方向/缠绕顺序。 他们不会一个接一个地翻转。因此,要么两个三角形都朝向你或远离你(假设你的图元是扁平方形(即凸面并且不相交),其中所有顶点都属于同一平面)。
P.S。你知道,你可以在OpenGL应用程序中渲染triangletrip原语并启用剔除并自己查看。
答案 1 :(得分:4)
条纹基元对背面剔除做了正确的事情。您可以将tris的缠绕顺序视为受管理,以使条带中的每个三角形的顺序一致 - 例如你可以想到GPU渲染(0,1,2),(2,1,3)......