在openGL中,我有一个沿轴缩放-1的对象......这导致对象无法正确渲染,因为所有正面现在都是背面。如果没有禁用剔除,我将如何让这个对象正确渲染?有没有办法在不修改构成我的模型的纹理法线顶点的情况下做到这一点?
问问题
1293 次
1 回答
7
您可以简单地切换剔除模式。您可以使用glCullFace(mode)
来决定应该剔除哪些三角形。提供参数GL_BACK
意味着只渲染正面的多边形,而 GL_FRONT 的参数意味着只渲染背面的多边形。因此,如果您的转换意味着“背面”多边形实际上是正面的,那么调用glCullFace(GL_FRONT)
应该可以解决问题。
作为替代方案,您还可以使用(顺时针) 或(逆时针)glFrontFace(dir)
参数来控制哪些多边形被视为正面/背面(默认为逆时针,因此如果您将其设置为clocksie originaly 背面多边形将被视为正面)。GL_CW
GL_CCW
于 2010-10-26T01:57:01.700 回答