HW Occlusion Culling ?

Started by
18 comments, last by superpig 18 years, 1 month ago
Quote:Original post by superpig
I know of at least one commercial PC-nextgen engine that uses them as the primary (and I think only) technique.


UE3?

My experience with HW occlusion queries is that they are fine if you can get them set up properly. However, that can sometimes (not always) be a bit challenging.

[Edited by - Brian Lawson on March 6, 2006 10:37:01 AM]
Advertisement
Temporal occlusion culling is prestty fast.
I heard that NVIDIA is doing a NVX_conditional_render extension, that, besides others things, can do hardware occlusion without querying a result. So, there is no latency...

Quote:
Original post by superpig
I know of at least one commercial PC-nextgen engine that uses them as the primary (and I think only) technique.



The latest Serious Sam?
Quote:Original post by Brian Lawson
Quote:Original post by superpig
I know of at least one commercial PC-nextgen engine that uses them as the primary (and I think only) technique.


UE3?

My experience with HW occlusion queries is that they are fine if you can get them set up properly. However, that can sometimes (not always) be a bit challenging.


Quote:Original post by Sneftel
Huh... they do occlusion queries on every potentially visible piece of the level without regards to the player's position?


The engine that I believe superpig was referring to was the Serious Sam 2 engine, which is basically all occ-query based according to this interview. The interview says that it's all OQ, but they'll have large bounding boxes laid out in the level by a level designer to instantly cull numerous objects in one go. However, even those large BB's are still culled based on OQ results.
Huh... hierarchical OQ. It's an interesting approach. I'll have to do more thinking about it.
Quote:Original post by Xunil_RJ
I heard that NVIDIA is doing a NVX_conditional_render extension, that, besides others things, can do hardware occlusion without querying a result. So, there is no latency...

Bingo. Hardware OC will finally become viable, as soon as conditional rendering gets mainstream and HW support is vendor independent. Until then, it's not worth it, IMO.

But then, one should never make the mistake to underestimate the efficiency of OC with respect to reduction of geometric frame complexity. OC queries aren't supposed to replace frustum culling, obviously, but to work hand in hand with existing spatial culling systems. I have had scenes where the number of visible faces would increase by a factor of 2 to 3 when OC was turned off - and that despite very accurate frustum culling and LOD.
Quote:Original post by Yann L
OC queries aren't supposed to replace frustum culling, obviously, but to work hand in hand with existing spatial culling systems. I have had scenes where the number of visible faces would increase by a factor of 2 to 3 when OC was turned off - and that despite very accurate frustum culling and LOD.


Absolutely! And same here.
Quote:Original post by Cypher19
The engine that I believe superpig was referring to was the Serious Sam 2 engine, which is basically all occ-query based according to this interview. The interview says that it's all OQ, but they'll have large bounding boxes laid out in the level by a level designer to instantly cull numerous objects in one go. However, even those large BB's are still culled based on OQ results.

So did Reality engine. If you look on the site, you can download all documentation and video tutorials for the engine.
Dustin Franklin ( circlesoft :: KBase :: Mystic GD :: ApolloNL )
Quote:Original post by Cypher19
Quote:Original post by Brian Lawson
Quote:Original post by superpig
I know of at least one commercial PC-nextgen engine that uses them as the primary (and I think only) technique.


UE3?

My experience with HW occlusion queries is that they are fine if you can get them set up properly. However, that can sometimes (not always) be a bit challenging.


Quote:Original post by Sneftel
Huh... they do occlusion queries on every potentially visible piece of the level without regards to the player's position?


The engine that I believe superpig was referring to was the Serious Sam 2 engine, which is basically all occ-query based according to this interview. The interview says that it's all OQ, but they'll have large bounding boxes laid out in the level by a level designer to instantly cull numerous objects in one go. However, even those large BB's are still culled based on OQ results.


Actually, it wasn't the SS2 engine, but if they're doing hierarchical occlusion culling then it sounds like they're doing the same thing as the engine I am thinking of (which, for NDA reasons, I won't name here). I point again to the chapter in GPU Gems 2 that describes how to do this stuff in both a hierarchical and temporally cohesive manner; by that technique, AABB trees plus OQs gives you a full culling solution (with frustum culling thrown in for good measure).

The conditional render stuff is already exposed in the D3D10 API, iirc. Worth looking into.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

This topic is closed to new replies.

Advertisement