I have been using OpenGL 3.0 and one of the things that has me confused is how the new OpenGL handles the view frustum. If you are supposed to create your own matrix for the perspective calculation, how do you specify to OpenGL what the zFar and zNear plane distances are? Do you have to use shaders for this?
The man page for glFrustum tells you exactly the math it actually implement.
You have to implement the same math in your own code, and pass the resulting matrix to your vertex shader as a uniform.