OpenGL:如果旋转相机,对象会抖动

大流士·杜森特里布

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

图片

如果相机旋转(未平移),则对象开始抖动。此外,我注意到在一个轨道(它是空间模拟器的原型)之后,晃动与我开始游戏时一样低。我假设当抖动不是那么严重时,相机坐标几乎为零。

相机绑定到物体上,所以抖动不太可能来自物体抖动的物理坐标,因为这样相机也应该抖动。

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

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

我相信这可能是浮点精度的问题,但是如果是这样的话,我不知道如何解决。

阿本奇

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章