   clipping planes
  I understand that the model view matix multiplied by the perspective matix (in OpenGl anyway) yields the clipping planes to be used for frustum culling. I, however, am not entirely sure why this works and was hoping that maybe someone could give me a quick rundown of why this works.I don''t need an all out explanation of matrix multiplication or anything like that.Thanks. Everyone on this forums has been quite helpful over the years. 
  Each of the 6 planes has a normal, which represents the direction the plane is facing. We can tell if an object is within the frustum by using the normal to tell which side of the plane the object is on.X-0ut ;  The maths is all herehttp://www2.ravensoft.com/users/ggribb/plane%20extraction.pdfYou''ll notice the nice cut & paste job done here with section 2 & 3... Don''t bother reading both they are exactly the same. ;  few short additions: the main info is in the projection matrix alone. here you find all you need to build the frustum, while the modelview will only move it into position. so the easiest way is to create your frustum normals only _once_ when the projection changes and once per frame apply the "camera rotation" to the normals.but if you look for the clipping planes themselves your out of luck. you can easily extract the width and height of the visible rectangle for a given distance though and thats enough to extract the normals too. ;  Ok, dummy planes are extracted:    float a = height/width; //yes this way   float e = 1/tan(degToRad(degTheta)/2);float e_one = sqrtf(e*e+1);float e_asp = sqrtf(e*e+a*a);//left/rightfrustum_planes[0] = Vector4f(e/e_one, 0, -1/e_one, 0);frustum_planes[1] = Vector4f(-e/e_one, 0, -1/e_one, 0);//bottom/topfrustum_planes[2] = Vector4f(0, e/e_asp, -a/e_asp, 0);frustum_planes[3] = Vector4f(0, -e/e_asp, -a/e_asp, 0);//near/farfrustum_planes[4] = Vector4f(0, 0, -1, -nearPlane);frustum_planes[5] = Vector4f(0, 0,  1, farPlane);It feels so good to be different, faster and unique. All Morley copy pasters can suck my...Edit:Failed to give credit to eric lengyel, Mathematics for 3D Game Programming and computer Graphics.   [edited by - captian goatse on February 5, 2004 2:48:55 PM]