Code: Select all
Ogre::Matrix4 pm1 = m_camera->getProjectionMatrix();
Matrix4( row0{4.38262 0 0 0 } row1{0 2.41421 0 0 } row2{0 0 -1.0001 -10.0005 } row3{0 0 -1 0 })
Code: Select all
Ogre::Matrix4 temp, pm2;
Ogre::Root::getSingleton().getRenderSystem()->_makeProjectionMatrix(m_camera->getFOVy(), m_camera->getAspectRatio(), m_camera->getNearClipDistance(), m_camera->getFarClipDistance(), temp);
Ogre::Root::getSingleton().getRenderSystem()->_convertProjectionMatrix( temp, pm2 );
Matrix4( row0{4.38262 0 -0 0 } row1{0 2.41421 -0 0 } row2{0 0 -1.00003 -2.50012 } row3{0 0 -1 0 })
So, element [2, 3] differs.. From my understanding, this is dependent on the far/near planes... (I'm using the Direct3D RenderSystem)
Anyone any idea why these retrieving the projection matrix does not provide the same result as making a projection matrix with the current camera properties?