Opengl Mirror变换背面剔除

时间:2010-10-26 01:47:04

标签: opengl culling

在openGL中,我有一个对象,我沿着轴缩放-1 ...这导致对象无法正确渲染,因为所有正面现在都是背面。如果没有禁用剔除,我将如何让这个对象正确渲染?有没有办法在不修改构成我模型的纹理法线顶点的情况下完成它?

1 个答案:

答案 0 :(得分:7)

您只需切换剔除模式即可。您可以使用glCullFace(mode)来确定应该剔除哪些三角形。提供参数GL_BACK意味着只渲染前面的多边形,而GL_FRONT的参数意味着只渲染后面的多边形。因此,如果您的转换意味着“背面”多边形实际上是前向,则调用glCullFace(GL_FRONT)应该可以解决问题。

作为替代方案,您还可以使用glFrontFace(dir)控制哪些多边形被视为正面/背面,参数为GL_CW(顺时针)或GL_CCW(逆时针)(默认为逆时针方向)如果你将它设置为clockie,则原始背面多边形将被视为前视图。