Jump to content

  • Log In with Google      Sign In   
  • Create Account


State of the art Culling and Batching techniques in rendering


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 kriska   Members   -  Reputation: 108

Like
0Likes
Like

Posted 21 June 2013 - 04:48 AM

I'm currently working with upgrading and restructuring an OpenGL render engine. The engine is used for visualising large scenes of architectural data (buildings with interior), and the amount of objects can become rather large. As is the case with any building, there is a lot of occluded objects within walls, and you naturally only see the objects that are in the same room as you, or the exterior if you are on the outside. This leaves a large number of objects that should be occluded through occlusion culling and frustum culling.
 
At the same time there is a lot of repetative geometry that can be batched in renderbatches, and also a lot of objects that can be rendered with instanced rendering.
 
The way I see it, it can be difficult to combine renderbatching and culling in an optimal fashion. If you batch too many objects in the same VBO it's difficult to cull the objects on the CPU in order to skip rendering that batch. At the same time if you skip the culling on the cpu, a lot of objects will be processed by the GPU while they are not visible. If you skip batching copletely in order to more easily cull on the CPU, there will be an unwanted high amount of render calls.
 
I have done some research into existing techniques and theories as to how these problems are solved in modern graphics, but I have not been able to find any concrete solution. An idea a colleague and me came up with was restricting batches to objects relatively close to eachother e.g all chairs in a room or within a radius of n meeters. This could be simplified and optimized through use of oct-trees.
 
Does anyone have any pointers to techniques used for scene managment, culling, batching etc in state of the art modern graphics engines? 


Sponsor:

#2 jomi   Members   -  Reputation: 117

Like
4Likes
Like

Posted 22 June 2013 - 04:52 AM

Hi, I recently presented an article at the GRAPP 2013 conference that deals with exactly this stuff - high level of occlusion AND high level of component replication:
Integrating Occlusion Culling and Hardware Instancing for Efficient Real-Time Rendering of Building Information Models
 

/Mikael



#3 kriska   Members   -  Reputation: 108

Like
0Likes
Like

Posted 24 June 2013 - 01:15 AM

Thanks a lot for taking the time to register and reply, jomi! 

The article was interesting, and answered many of our questions while giving new ideas. I have a followup question though. You mention in the conclusion that it could be iteresting to test the method with other culling algorithms. Did you have any specific algorithms in mind?






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS