某些计算机上重叠的对象

时间:2014-09-13 21:27:18

标签: c++ opengl

我有一个使用OpenGL在窗口中绘制一些内容的应用程序(基于here的示例)。使用NVIDIA GeForce GTS 450显卡在我的台式机上运行应用程序时,一切看起来都不错,但在其他计算机上看起来很糟糕(我试过2台带有集成英特尔显卡的笔记本电脑,以及在VirtualBox上运行的虚拟机上)。 / p>

效果如下:

incorrect effect enter image description here

我试图操纵gluPerspective功能,但没有结果。

这种影响可能是什么原因?

编辑: 从附带NVIDIA的计算机中更正文件: enter image description here

1 个答案:

答案 0 :(得分:2)

我看起来不像某种z-fighting。也就是说,您有几个具有重叠或非常相似的Z值的几何图形,并且Z值计算中的精度误差会使对象的某些部分被隐藏。

它可以在某些机器上工作而不在其他机器上工作,这可能是因为Z缓冲区是32位或16位,具体取决于机器。

请注意,即使将Z缓冲区强制为32位也可以解决问题,您应该考虑修复对象的Z值。有(以前是?)某些不支持32位Z缓冲区的硬件。