引擎:LWJGL
所以,我想知道,如何绘制三角形的背面?我知道这件事正在发生
glTexCoord();
方法,但我无法理解需要哪种方式。
最佳答案
三角形的面与纹理坐标无关。它仅由窗口空间中顶点的缠绕定义。
默认情况下,GL使用以下规则:如果在最终图片中以逆时针顺序看到了三个顶点(按绘制时指定的顺序),则将其视为正面。可以通过glFrontFace()
更改此规则。此外,可以通过glEnable(GL_CULL_FACE)
告知GL不要绘制特定的面孔。剔除哪些面由glCullFace()
控制。通常,背面剔除用于封闭的对象(没有透明性),因为在这种情况下,永远不会看到背面的三角形,也不需要进行处理。
因此,要控制三角形的面,指定顶点的顺序很重要。此外,您使用的转换定义了您实际看到的一侧。
绕组在物体之间和物体之间尤其应保持一致。如果以相互相反的顺序指定共享边,则两个共享边的三角形(如三角形A,B,C和B,C,D)将具有有效的绕组。也就是说,如果您以A,B,C的顺序指定第一个三角形的顶点,则必须以使用C,B的方式指定后一个三角形的顶点,例如C,B,D或D,C,B或B,D,C。