转换modelMatrix

使用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是顶点在模型空间中的位置


饮歌长啸
浏览 457回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP