Very interesting question with the projection...
I'm not sure how well it will work since I never needed such a wierd projection matrix, but try this:
Code:
var
m: array[0..3, 0..3] of single;
...
glMatrixMode(GL_PROJECTION);
ZeroMemory(@m, SizeOf(m));
m[0, 0] := 2;
m[1, 1] := CoTan(FOV / 2);
m[2, 2] := -2 / (ZFar - ZNear);
m[3, 2] := -(ZFar + ZNear) / (ZFar - ZNear);
m[2, 3] := -1;
m[3, 3] := 1;
glLoadMatrixf(@m);
Bookmarks