OpenGL着色故障glsl

时间:2015-01-08 23:05:18

标签: c++ opengl graphics visual-glitch

我的问题是,显然我的OpenGL场景中的对象的正常情况已经莫名其妙地翻转了。这是一些图片,以帮助我解释。

第一个截图:
enter image description here

第二个截图:
enter image description here

我的代码存在问题(不应该是因为我没有改变任何东西),还是像显卡故障一样?如果是我的显卡问题,可以采取哪些措施来解决它?

旁注,我升级显卡驱动程序之前工作正常

1 个答案:

答案 0 :(得分:0)

您的问题是您在不使用深度测试的情况下绘制立方体的两侧(内部和外部)。有两种方法可以解决这个问题。通常,您将启用 both ,因为它们可以解决不同的问题,但在这种特定情况下,这两种技术都可以解决您的问题。

  1. 启用深度测试:glEnable(GL_DEPTH_TEST)。这将使得前面的立方体部分被拉到后面的部分,但反之则不然。

  2. 启用背面剔除:glEnable(GL_CULL_FACE)。这将使得立方体的外部被绘制而不是内部。请注意,您必须确保所有三角形都朝向正确的方向才能使其正常工作。另请注意,这只是一个完整的解决方案,因为您的模型是凸的。