Orthographic Projection Issue
Posted: Mon Aug 18, 2014 10:07 am
I have a problem with my Ortho Matrix. The engine uses the perspective projection fine but for some reason the Ortho matrix is messed up. (See screenshots below).
Can anyone understand what is happening here?
At the min I am taking the Projection matrix * Transform (Translate, rotate, scale) and passing to the Vertex shader to multiply the Vertices by it.
(I'll upload a video to demonstrate what is happening.)
VIDEO Shows the same scene, rotating on the Y axis.
http://youtu.be/2feiZAIM9Y0
Can anyone understand what is happening here?
At the min I am taking the Projection matrix * Transform (Translate, rotate, scale) and passing to the Vertex shader to multiply the Vertices by it.
void Matrix4f::InitOrthoProjTransform(float left, float right, float top, float bottom, float zNear, float zFar) { m[0][0] = 2 / (right - left); m[0][1] = 0; m[0][2] = 0; m[0][3] = 0; m[1][0] = 0; m[1][1] = 2 / (top - bottom); m[1][2] = 0; m[1][3] = 0; m[2][0] = 0; m[2][1] = 0; m[2][2] = -1 / (zFar - zNear); m[2][3] = 0; m[3][0] = -(right + left) / (right - left); m[3][1] = -(top + bottom) / (top - bottom); m[3][2] = -zNear / (zFar - zNear); m[3][3] = 1; }This image shows the Perspective projection: Then the Orthographic projection (InitOrthoProjectionTransform(0.0f, 800.0f, 0.0f, 600.0f, 0.1f, 1000.0f) )
(I'll upload a video to demonstrate what is happening.)
VIDEO Shows the same scene, rotating on the Y axis.
http://youtu.be/2feiZAIM9Y0