Frustum Culling Theory


I’m currently implementing a space partitioning scheme (octree) into my engine, and thus using frustum culling to remove unseen parts. I’ve read several documentations on how to achieve good frustrum culling, but all of them were quite mysterious on the maths. I mean, it was like :

1 - extract the ModelView and Projection Matrices.
2 - them multiply both, giving you a matrix A.
3 - then extract the normals of the frustum’s planes from this matrix A, giving you the planes’ equations.

What I don’t understand is the basic idea behind : how can we extract A,B,C,D (defining a plane equation) from the resulting matrix A, what are the underlying maths to be able to do such operations?

I surely missed something there , thank you for any help !

This should help you

Thank you!
This is a tutorial I’ve already read, what I basically don’t understand is the way the plane normals are extracted from the resulting matrix, and why you have to multiply both the modelview and projection matrices to get this resuting matrix … Otherwise, I know what to do with the planes / octree :slight_smile:

I just found this on the web:

I have’t read that yet, but it seems it is what you want.

Thank you , that’s exactly what I was loooking for !