I’m new on 3D graphics, so I’m yet understanding all that stuff.
As far as I learned, I prefer octrees (for an easy view frustum culling). I feel comfortable with that structure (BSP is a bit confusing for me).
Now I’m thinking on how to minimize overdraws, so I was thinking this way:
1 Check what octrees comes inside frustum.
2 Push those boxes onto a stack sorted by distance.
3 Start drawing from front to back. I’d start with the box where the camera lies.
4 Pop the nearest box from the stack.
Before drawing polys from a box, check his visibility(not draw it). If the box is not visible at all(i.e. completely occluded), I don’t draw the polys inside it.
5 Remove that box from the stack.
6 Check if the entire screen is drawn. If yes, we stop the render.
7 Goto 4.
This way, I supposely don’t need PVS (render stops when all the scene is draw).
My questions are:
+It’s possible to do that?
+That strategy will be fast enough?
-It’s better a PVS?
+Is there any OpenGL method to do points 4 & 6 ?
Coding point 4 maybe can take much CPU time. Point 6 is not critical.
Thanks in advance.