我正在使用OpenGL在场景中绘制一个对象,但似乎无法让它围绕相机旋转,而不是只是在原地旋转。旋转相机周围的物体并获取变换后的坐标?
我能做些什么来让它围绕相机旋转?我知道我可以在相机/视图空间中绘制它,但是我需要从变形后获取对象的位置和旋转(以便我可以使用Bullet为该对象提供刚体)。如果仍然可以从视图空间中呈现的对象中检索位置和旋转,请忽略该帖子的第一部分。
换句话说,我怎么可以移动和相机旋转对象并获取它从ModelMatrix
所以坐标和旋转,我可以填补这些:
glm::vec3 objectPosition;
glm::quat objectRotation;
我见过类似的帖子网上说使用旧的OpenGL /而不是MVP框架,所以我不知道如何做到这一点。干杯。
您需要翻译到_negative_相机位置,旋转并翻译回去。否则,将对象移动到原点,然后旋转它只会围绕它自己的轴。尝试评论你的第一行。 – Psi
我似乎没有任何运气。我试着先用-getPosition()进行翻译,然后旋转,然后翻译成getPosition()(如果这就是你的意思)但没有运气。 –