I’ve been stuck on this for months, so I’ll get straight to the point.

The environment for my 3d walkthrough is made up of surfaces on planes in space. The surfaces are made up of TRIANGLES, TRIANGLE_FAN, and TRIANGLE_STRIP. I was able to partition space using a BSP tree and perform frustum culling against the nodes/leafs of my bsp tree. The problem I’m having is reducing overdraw: if the camera is oriented in front of an opaque wall my program still draws all the potentially visible surfaces behind it, even though they are not visible.

I need some way of precomputing what surfaces/nodes cannot be visible given the region my camera is in (PVS information I think it’s called). Can anyone give me some good references for computing this?? I’ve been searching/trying to no avail… no results… :frowning:
If I need to learn some more math to do it then I would gladly.

Yeah PVS is what you may need, possible Dynamic PVS, like using portals. But on todays hardware, it’s actually better to have some overdraw rather then having none. GPUs love you sending it a good amount of gemoetry, they perform better this way. Just don’t send it TOO much, like a whole huge 3d world. It was more important a long time ago when most of the 3d processing was done on the cpu, before GPUs did TnL on them. Now it’s different since GPUs are so powerfull nowadays.


Oh and about the math. It’s always good to keep learning. In programming/engineering, there is no such thing as knowing just enough math. You should always be learning more and more. The more you know, the more awesome effects and algorithms you can come up with or understand enough to use you can do.


[This message has been edited by SirKnight (edited 10-18-2003).]