Graphics: Visibility
Temporal Screen-Space Ambient Occlusion |
Practical, Dynamic Visibility for Games |
Screen-Space Directional Occlusion |
Hierarchical Item Buffers for Granular Occlusion Culling, |
Game Engine Friendly Occlusion Culling |
Practical Parallax Occlusion Mapping with Approximate Soft Shadows for Detailed Surface Rendering |
Spatial Partitioning Using an Adaptive Binary Tree |
Enhanced Object Culling with (Almost) Oriented Bounding Boxes |
Hardware-Based Ambient Occlusion |
Efficient Occlusion Culling |
Terrain Occlusion Culling with Horizons |
Applications of Explicit Early-Z Culling |
Illumination-Based Occlusion Culling |
Simple and Efficient Line-of-Sight for 3D Landscapes |
Fast and Simple Occlusion Culling |
Abstract: This article describes two occlusion culling algorithms that are practical, effective, and require little preprocessing. The first one is the prioritized-layered projection (PLP) algorithm, which is an approximate algorithm that determines, for a given budget, a set of primitives that is likely to be visible. The second algorithm, cPLP, is a conservative version of PLP that guarantees finding all visible primitives.
A High-Performance Tile-based Line-of-Sight and Search System |
Sphere Trees for Fast Visibility Culling, Ray Tracing, and Range Searching |
Abstract: The article presents an algorithm and demonstration application that manages thousands of objects in motion that are continuously maintained as a collection of hierarchical bounding spheres in a SphereTree. The design goal for this algorithm has been to make the 99-percentile case spend almost no CPU time updating an object in motion within the tree structure. Queries against the SphereTree perform more tests than other data structures, but this is mitigated by the fact that the tree can be maintained using very little CPU time. This data structure is ideally suited for gross culling of massive numbers of moving objects in a large world space. It doesn't matter if the objects are moving at widely disparate speeds, or even if many of them are not in motion at all. It also has a very low cost when objects are inserted and removed from the tree with great frequency.
Abstract: This article introduces both frustum culling and occlusion culling, along with example code for a simple occlusion culling algorithm.
|