使用glm设置ViewMatrix很容易:
glm::lookAt(Position, Direction, UpVector);
但是,如果我尝试将功能与modelMatrix一起使用,则会得到混淆的值(Model的位置不正确,旋转也看起来不正确)。我只想以与设置相机相同的方式设置对象。我可以使用lookAt功能然后进行一些更改吗?还是我必须为此编写自己的功能?如果是这样,怎么办?
我用这个来固定位置:
m_Orientation = glm::lookAtLH(Position, Direction, UpVector);
m_Orientation[3][0] = -m_Orientation[3][0];
m_Orientation[3][1] = -m_Orientation[3][1];
m_Orientation[3][2] = -m_Orientation[3][2];
同样在顶点着色器中,我使用了这个:
gl_Position = CameraMatrix * ModelMatrix * Pos;
其中CameraMatrix是viewProjectionMatrix,ModelMatrix(我的问题)和Pos是顶点在模型空间中的位置
相关分类