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

