Clipping Geometry: Whats the best way?

All…Whats the best, from a performance point of view, to clip unseen geometry?

Currenty I have a model that draw approximatly 4000 polygons at 60± fps, soon to grow to around 8000 once all supporting models are drawn. I don’t do any clipping of polygons behind the view point. I just send them all to GL and the driver ignores them. I’m guessing I should find a way to remove unseen polys from the GL process but am unsure if this process, if any, will actually help or degrade performance.

Is there a better way than letting the GL driver ignore polygons? Examples?

You should not do any clipping yourself, this is best done by the driver. Especially if this can be done by the hardware.

What you should do, is to cull objects at a high level. You can very easily and effectively perform a per-object AABB/frustum or BS/frustum cull, to determing what objects to pass to OpenGL. Once decided what objects to pass, pass the whole object and let the driver clip the object if needed.

You can find an awesome frustum cull tutorial here .

p.s. AABB = axis aligned bounding box, BS = bounding sphere

Great tutorial! I’ll try to implement, thanks!!!