我的问题是,显然我的OpenGL场景中的对象的正常情况已经莫名其妙地翻转了。这是一些图片,以帮助我解释。
第一个截图:
第二个截图:
我的代码存在问题(不应该是因为我没有改变任何东西),还是像显卡故障一样?如果是我的显卡问题,可以采取哪些措施来解决它?
旁注,我升级显卡驱动程序之前工作正常
答案 0 :(得分:0)
您的问题是您在不使用深度测试的情况下绘制立方体的两侧(内部和外部)。有两种方法可以解决这个问题。通常,您将启用 both ,因为它们可以解决不同的问题,但在这种特定情况下,这两种技术都可以解决您的问题。
启用深度测试:glEnable(GL_DEPTH_TEST)
。这将使得前面的立方体部分被拉到后面的部分,但反之则不然。
启用背面剔除:glEnable(GL_CULL_FACE)
。这将使得立方体的外部被绘制而不是内部。请注意,您必须确保所有三角形都朝向正确的方向才能使其正常工作。另请注意,这只是一个完整的解决方案,因为您的模型是凸的。