我一直在努力的3D游戏引擎和我遇到的振荡对象有问题的对象都在颤抖:OpengGL:如果旋转相机
如果旋转相机(没有翻译) ,然后对象开始晃动。此外,我注意到,在一个轨道(这是一个空间模拟器的原型)之后,摇晃和我开始游戏时一样低。我认为摇动不会更糟的时候,相机坐标几乎为零。
摄像机被绑定到对象,因此它应该是不可能的震动来自于动摇对象的物理坐标,因为这时相机应该动摇了。
我计算的视图和投影矩阵是这样的:
cameraAndProjectionMatrixSmallObjects =
glm::perspective(glm::radians(70.f), 1.9f, 0.001f, 100.0f);*
glm::lookAt(worldPosition, heading + worldPosition, up);
我认为可能是与浮点精度的问题,但如果是这样的事情我不知道该怎么解决它。
是您的向上向量垂直于视线('heading')的线,或者是它在相同的方向设置错误几乎一样的视线(当相机摇动)? – Rabbid76
这是正常的标题,如果标题旋转,然后向上将旋转相同的矩阵。 –
@DariusDuesentrieb看看这里:[?是否有可能使大小和质量的物质现实正体太阳能系统仿真(https://stackoverflow.com/a/28020934/2521214)。使用相对坐标将会有很大帮助(在传递给OpenGL **之前,翻译网格使得(0.0.0)是相机位置)。 – Spektre