I'm trying out some direct3d stuff coming from opengl and I have a question regarding the projection matrix.
I would like the coordinate system to look like so
y - 720
^
|
|
|
|
|
|
|
|
0, 0 ---------------------------------> x - 1280
Normally in opengl I would do something like this.
// other code....
glMatrixMode(GL_PROJECTION);
m4 Projection = Orthographic(0.0f, 1280.0f, 0.0f, 720.0f, 1.0f, -1.0f);
glLoadMatrixf(Projection.f);
// other code....
internal m4
Orthographic(f32 Left, f32 Right, f32 Bottom, f32 Top, f32 Near, f32 Far) {
m4 Result = IdentityMatrix();
Result.m0[0] = 2.0f / (Right - Left);
Result.m1[1] = 2.0f / (Top - Bottom);
Result.m2[2] = -2.0f / (Far - Near);
Result.m3[0] = -(Right + Left) / (Right - Left);
Result.m3[1] = -(Top + Bottom) / (Top - Bottom);
Result.m3[2] = -(Far + Near) / (Far - Near);
return Result;
}
In direct3d I am doing something similar (or so I think)
D3DXMATRIX ProjectionMatrix;
// I know opengl is right handed so I make a right handed ortho right?
D3DXMatrixOrthoOffCenterRH(&ProjectionMatrix, 0.0f, Width, 0.0f, Height, 1.0f, -1.0f);
Direct3DDevice->SetTransform(D3DTS_PROJECTION, &ProjectionMatrix);
Problem is I don't see anything on the screen and cant seem to figure out how I oriented it.