The most effective algorithm for determining the level of the grid, the optimal allocation of occlusion?

I'm new to culling. At first glance, it seems that most occlusion rejection algorithms are object-oriented, without considering individual cells, which would be practical for rendering the game.

What I'm looking for is an algorithm that selects all the cells inside the same object that were closed for this point of view with high accuracy. It should be at least O (n log n), naive grid comparison (O (n ^ 2)) is too slow.

I notice that the Blender GUI identifies closed grids for you in real time, even if you work with large objects larger than 10,000+. What algorithm is there, pray, tell me?

+3
source share
5 answers

The blender performs both selection and deactivation of indentation, based on dynamic AABB acceleration structures from the Bullet physics library. Occluders and objects are represented by their bounding volume (frame aligned along the axis).

Viewing the burr truncation simply traverses the AABB tree given the camera truncation.

The occlusion hole is based on the occlusion buffer, a kind of depth buffer that is initialized using a very simple tool for rendering programs: a basic ray tracer that uses dynamic AABB tree acceleration structures. You can choose the resolution of the occlusion buffer to trade with accuracy.

See also the documentation http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.49/Game_Engine#Performance

Blender Blender: blender\source\gameengine\\Bullet\CcdPhysicsEnvironment.cpp bool CcdPhysicsEnvironment:: cullingTest ( PHY_CullingCallback, void * userData, PHY__Vector4 *, int nplanes, int occlusionRes)

SDK Bullet Physics ++ Bullet/Extras/CDTestFramework.

+3
+1

, , , , , . , , .

, , , -. , , ; .

+1

, , - , - . ( ). , Octrees .

0

, .

, - , , O (n2). ( , , , ).

pentium 4 (++) STL ~ 10000 1 , .

~ 40 , , , ( , , ).

, .

0
source

All Articles