画了一个立方体,可是显示出来的面总是有问题,立方体的前面显示的不是红颜色,而是背面的颜色,不知道是什么原因?
苦苦思考,也想不出那地方有问题。
我把代码注释掉了一部分,让它只显示两个面,结果如第二个图。


我以为是坐标的问题,旋转后,两个面的旋转方向不一致。向别人请教一下,才知道,原来,又是这个导致的
glEnable( GL_CULL_FACE );把背面给显示出来了,形成一个左面向相反方向旋转的假象。而且由于这段代码的原因,
前面的颜色被背面的颜色所覆盖,得出的结果,让人想不通?
本文探讨了使用OpenGL绘制立方体时出现的渲染问题,特别是正面颜色被背面颜色覆盖的现象。通过禁用GL_CULL_FACE发现,该设置导致了立方体面的错误显示,并形成了旋转方向的错觉。
画了一个立方体,可是显示出来的面总是有问题,立方体的前面显示的不是红颜色,而是背面的颜色,不知道是什么原因?
苦苦思考,也想不出那地方有问题。
我把代码注释掉了一部分,让它只显示两个面,结果如第二个图。


我以为是坐标的问题,旋转后,两个面的旋转方向不一致。向别人请教一下,才知道,原来,又是这个导致的
glEnable( GL_CULL_FACE );把背面给显示出来了,形成一个左面向相反方向旋转的假象。而且由于这段代码的原因,
前面的颜色被背面的颜色所覆盖,得出的结果,让人想不通?

被折叠的 条评论
为什么被折叠?