automatic software occlusion culling for massive streaming worlds
DESCRIPTION
A presentation I gave in Nexon Developer Conference in Seoul in 2013. This deck covers the most recent stuff we've added to Umbra 3.TRANSCRIPT
Automatic Software Occlusion Culling for Massive Streaming Worlds
SAMPO LAPPALAINENUMBRA SOFTWARE
• FOUNDED IN 2007• BASED IN HELSINKI, FINLAND• 11 EMPLOYEES• SPECIALIZING IN OCCLUSION
CULLING• LONG HISTORY IN VISIBILITY
SOLUTIONS• TWO DOZEN SHIPPED
GAMES USE UMBRA• SEVERAL UMBRA 3 –
POWERED GAMES RELEASING IN Q4 2013 AND IN 2014
PREVIOUS METHODS
• PVS– SLOW TO COMPUTE– STATIC
• OCCLUSION QUERIES– GPU SYNCHRONIZATION
• MANUALLY PLACED PORTALS OR OCCLUDERS- MANUAL WORK- VERY HARD TO MODEL OUTDOOR AREAS ACCURATELY
DESIGN CONSTRAINTS
• BOUNDED TIME• BOUNDED MEMORY• AUTOMATIC• FAST CONTENT ITERATION• ARBITRARY SCENE SIZE
WHAT IS VISIBILITY
• SET OF LINES IN SPACE• ACCURATE REPRESENTATION OF VISIBILITY IN POLYGON
SOUP IS VERY COMPLEX O(N^5)
• CONSERVATIVE VISIBILITY
• REASONING ABOUT SPACE• TOPOLOGICAL REPRESENTATION
WORKFLOWCONTENT PIPELINE RUNTIME
VISIBLE OBJECTS
VISIBILITY DATA
POLYGON SOUP
VOXELS
CELLS AND
PORTALS
VIEW TREE• CONSTRUCT VIEW TREE FROM
VOXELS
HIERARCHICAL OCCLUDER DATA
• SAME DATA IN LOWER RESOLUTION
TOME OF VISIBILITY
TOME
STREAMING BLOCKS• COMPUTE
DATA FOR EACH SUB-REGION
STREAMINGBLOCK
STREAMINGBLOCK
STREAMINGBLOCK
STREAMINGBLOCK
STREAMINGBLOCK
RUNTIME
STREAMING• CHOOSE THE
SET OF STREAMING BLOCKS NEEDED
STREAMINGBLOCK
STREAMINGBLOCK
STREAMINGBLOCK
STREAMINGBLOCK
STREAMING• COMBINE INTO
A TOME OF VISIBILITY
TOME
VISIBILITY QUERY• VISIBLE OBJECTS AND DEPTH BUFFER FROM THE
TOMETOME
VISIBILITY QUERY1. FIND
STARTING CELL FROM VIEW TREE
VISIBILITY QUERY2. RASTERIZE
PORTAL GRAPH
HIERARCHICAL OCCLUDER DATA
3. SELECT RESOLUTION BASED ON DISTANCE
DEPTH BUFFER
TEST OBJECTS3. OBJECT VISIBILITY
DYNAMIC OCCLUDERS
PREDICTED CAMERA
RECAP
Demo
Demo2-3 min?
Demo2-3 min?
Demo2-3 min?
Demo2-3 min?
CONCLUSIONS AND FUTURE WORK
CONCLUSIONS
• DATA STRUCTURE FOR SPATIAL REASONING IN POLYGON SOUP
• VOXELS AND AUTOMATIC PORTAL GENERATION
OTHER USE CASES
• SHADOW CASTER CULLING• GAME LOGIC• AUDIO OCCLUSION• LIGHTING
FUTURE WORK
• GENERATE DATA AT RUNTIME• AUTOMATED LEVEL ANALYSIS• COMPUTE SHADER VERSION• OTHER USE CASES FOR SPATIAL
REASONING