OpengGL:如果相机旋转,物体会抖动

时间:2017-07-29 18:06:12

标签: opengl graphics 3d

我一直在研究3D游戏引擎,我遇到了摇动物体的问题:

img

如果相机旋转(未翻译),则物体开始抖动。 此外,我注意到在一个轨道(它是空间模拟器的原型)之后,震动与我开始游戏时一样低。我认为当摇晃不是那么糟糕时,相机坐标几乎为零。

相机被绑定到物体上,所以震动不太可能来自物体的物理坐标,因为那时相机也应该摇晃。

我像这样计算视图和投影矩阵:

cameraAndProjectionMatrixSmallObjects = 
glm::perspective(glm::radians(70.f), 1.9f, 0.001f, 100.0f);*
glm::lookAt(worldPosition, heading + worldPosition, up);

我认为这可能是浮点精度的一个问题,但是如果它是这样的话我不知道如何解决它。

1 个答案:

答案 0 :(得分:1)

你的物品离世界起源太远了。 GPU使用有限精度的浮点数,如果使用大数字,则对象开始抖动。尝试将所有内容缩小到1000倍。您可以找到此问题的详细说明here