Torque3D and Occlusion Culling
by Dark Tengu · in Torque 3D Professional · 09/29/2010 (3:33 am) · 16 replies
After playing around with Unity 3, I am VERY impressed with the occlusion culling. Does Torque3D take advantage of occlusion culling on the same level as Unity or do we just have frustrum culling (boo)?
#2
09/29/2010 (2:22 pm)
Fantastic!
#3
09/29/2010 (7:23 pm)
Great news, Tom!
#4
09/29/2010 (7:53 pm)
Very exciting news Tom!
#5
09/30/2010 (11:47 am)
*Very* pleased to read this.
#6
09/30/2010 (11:49 am)
That is good news. Seems there is a lot of work going in T3D and bringing it right up to spec in every area
#7
01/21/2011 (7:12 am)
Is this still in the works?
#8
01/21/2011 (7:26 am)
Jon,Quote:higher priority tasks after 1.11.1 is not released yet... although Id like to know how the recent developments at GG change the future plans for T3D.
#9
01/21/2011 (9:34 am)
does anybody know the price point for umbra? whenever i see a website without prices i know that company is going to screw me out of as much money as it can, horrible business ethics imo
#10
Still both dynamic and precomputed visibility will be an important part of future Torque releases.
01/21/2011 (12:23 pm)
Right now we've focused mainly on bug fixes and a couple of simple features. Realtime occlusion culling is not a simple feature, so i can't say that it will be in 1.1 final.Still both dynamic and precomputed visibility will be an important part of future Torque releases.
#11
03/11/2011 (12:16 am)
Has anyone involved with T3D looked into the CHC++ algorithm? I've been investigating it for a while and it seems quite promising. I'll probably be attempting to implement it in my own copy of T3D, now that I've upgraded from TGE, and I'd be open to releasing it as a resource if anyone was interested (and I succeed).
#12
Sounds pretty cool!
03/11/2011 (6:34 am)
CHC++: Coherent Hierarchical Culling Revisited:Quote:We present a new algorithm for efficient occlusion culling using hardware occlusion queries. The algorithm significantly improves on previous techniques by making better use of temporal and spatial coherence of visibility.
This is achieved by using adaptive visibility prediction and query batching. As a result of the new optimizations the number of issued occlusion queries and the number of rendering state changes are significantly reduced. We also propose a simple method for determining tighter bounding volumes for occlusion queries and a method which further reduces the pipeline stalls. The proposed method provides up to an order of magnitude speedup over the previous state of the art. The new technique is simple to implement, does not rely on hardware calibration and integrates well with modern game engines.
Sounds pretty cool!
#13
http://www.unknownworlds.com/ns2/news/2009/03/occlusion_culling
Everything I've read suggests that it performs very well as a general purpose culling algorithm (i.e. it does very well both indoors and outdoors, and with relatively dense or sparse occlusion).
03/11/2011 (7:17 am)
I know it is being used by Unknown Worlds in their Spark Engine (Natural Selection 2), and I believe they've gotten very good results from it.http://www.unknownworlds.com/ns2/news/2009/03/occlusion_culling
Everything I've read suggests that it performs very well as a general purpose culling algorithm (i.e. it does very well both indoors and outdoors, and with relatively dense or sparse occlusion).
#14
What i have been looking at was Stephen Hill's technique from Splinter Cell. It still has this downside where you have to block waiting for the GPU... but its much cheaper than with occlusion queries.
Out of GDC 2011 i like the technique the Battlefield 3 team is using (see page 41). With quad cores becoming the norm its possible that software rendering makes alot more sense now. Like with the SplinterCell technique it requires low poly occlusion geometry... but something like the Sketch Tool or special tagged geometry in a model can be used to solve that.
Anyway... this is our thinking right now.
03/11/2011 (10:09 am)
The CHC++ paper was the one that finally made GPU occlusion queries usable and is very similar to how Umbra works, but it still has problems. One of the bigger ones being occlusion queries are can be expensive to make and take a long time to get results from. So typically your either running one frame behind and have issues with false culling or you block waiting for results losing frame rate.What i have been looking at was Stephen Hill's technique from Splinter Cell. It still has this downside where you have to block waiting for the GPU... but its much cheaper than with occlusion queries.
Out of GDC 2011 i like the technique the Battlefield 3 team is using (see page 41). With quad cores becoming the norm its possible that software rendering makes alot more sense now. Like with the SplinterCell technique it requires low poly occlusion geometry... but something like the Sketch Tool or special tagged geometry in a model can be used to solve that.
Anyway... this is our thinking right now.
#15
03/11/2011 (11:49 am)
Hey Tom, were you in that session on the Battlefield 3 occlussion culling? I went to that + the occlussion culling talk for another engine (I'm blanking on what it was all of a sudden...). Both used the same method of software occlusion using software rendered occlusion geometry + screen space rects to check against.
#16
03/11/2011 (12:04 pm)
I was in another session at the time. Yea... software rendering for occlusion is back in style.
Associate Tom Spilman
Sickhead Games
We've looked that the same tech Unity integrated (Umbra's new static PVS solution) and we decided to roll our own. Its one of my higher priority tasks after 1.1.