Projection Matrices in opengl

Does anyone know how the opengl projection matrices change if the center of projection or viewpoint is not at the origin? What would happen if the COP is at (0,0,d) and the projection plane is z = 0???

Any help Appreciated…

The point of view is always placed at the origin, and always pointing down the Z-axis, and always got the upvector along the Y-axis. There is no way to change this. This is why you got the modelview matrix, to transform all primitives so it looks like the viewpoint is located at a different place. Remember, moving the viewpoint forward is the same as moving the world backwards. This is how it works in OpenGL at least, and probably in most other 3D APIs aswell. So the projection matrix is never changed, unless you change it yourself.

Would the translation of the projection plane from somewhere on the negative z axis to z =0 pose any problems?

What do you mean by translating the projection plane? You mean setting up a new view volume, with new near Z set to zero instead of some negative value, or do you want to apply a glTranslate to the projection matrix?


hmm, i THINK the poster is talking about projecting onto a plane not orthogonal to the optical axis. This is entirely possible in OpenGL. Check out MPU (the multiple pipe untility) for the maths on doing it, if this is what you’re after.

useful, incidentially, for REAL virtual reality systems. By real, i mean not the fakey “i didn’t know that VR was a technical term, so I’ll call everthing that uses polygons as Vee-Ahhr”. VR is a specific domain of applications which requires a user-centric perspective. Quake isn’t VR. ANything that doesn’t have head-tracked stereo isn’t VR. Your standard PC can’t DO VR unless you have the head-tracked stereo thing sorted out. It needs hardware. (People who abuse technical terms nark me something chronic. Have you seen ad’s for “digital modems”? WTF? A modem is ingerently a device for coverting between an analogue and digital signal. Something which connects directly to a fiber optic link isn’t a modem, because there IS NO CONVERSION, and thus there is no such THING as a digital analogue-to-digital device. ARGH. People abuse “digital”, too. Digital-this, digital-THAT.

oh, sorry. was on my soap box, again.