Hello
I have a question to which I can’t find a description in layman’s terms. Lots of mathematics if I search the web but nothing it seems that explains what the maths does to each of the values and how that affects the view. For example if I play around with m[3,0] m[3,1] and m[3,2] I can see that it affects the way perspective is achieved. If set to zero, there is no perspective, lines run parallel and if a value is set, then a foreshortening effect is achieved in whichever direction chosen, thus you can get one point, two point and three point perspective depending on values set.
Likewise by playing around with the values of m[0,3], m[1,3] and m[3,3] I notice a a “panning” behaviour for the first two and a “zooming” behaviour for m[3,3], however I am not sure what is actually happening. I am guessing as I’m not moving the transform of the camera and this is all done with the projection Matrix then is the projection plane moving? Far plane? Near Plane? Relative to each other?
The row of m[2,0], m[2,1], m[2,2] and m[2,3] all seem to do with the clipping planes. Playing around with these values I can “eat” away objects in the scene, front and back, but also side to side and top to bottom. I am guessing that the side to side and top to bottom is to do with the actual visible area of the camera, or projected dimensions, so when objects fall outside the mapped area they are not rendered. The same for near and far clip planes, when objects are outside those they get “eaten” away.
Anyway these are just my guesses, so I would love for someone to explain what the values actually do. It would be useful for many I think. Thanks for your help community.
var m : Matrix4x4;
m[0,0] = a; m[0,1] = b; m[0,2] = c; m[0,3] = moveHorizontal;
m[1,0] = e; m[1,1] = f; m[1,2] = g; m[1,3] = moveVertical;
m[2,0] = clipPlaneRotate?; m[2,1] = clipPlaneRotate?; m[2,2] = FarClip; m[2,3] = NearClip;
m[3,0] = perspectiveX; m[3,1] = perspectiveY; m[3,2] = perspectiveZ; m[3,3] = moveDepth;
return m;

