Horizon Split Ambient Occlusion for Real-Time GPU Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for real-time ambient occlusion in graphics rendering face challenges in maintaining high frame rates with complex scenes, often requiring precomputation and resulting in visual artifacts like under-occlusion and over-occlusion, especially when dealing with distant occluders, which increases computational cost.
Innovation Solution
A method that computes ambient occlusion as a fixed-cost postprocessing pass on GPU hardware, using pixel depth and normal values to estimate horizon and normal occlusion terms, allowing for high-quality ambient occlusion rendering without precomputing geometric elements, and can be combined with image rendering with minimal intrusion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If precomputation is used to compute ambient occlusion at vertices or in light maps, then ambient occlusion quality is improved, but frame rate decreases due to scene-dependent precomputation requirements
Solution Approach 1:
The patent precomputes horizon profiles from the camera's point of view and stores them in a lookup table before rendering. This preliminary computation separates the expensive precomputation step from the real-time rendering step, allowing high-quality ambient occlusion to be achieved without sacrificing frame rate during actual rendering.
Solution Approach 2:
The patent uses a depth buffer that copies depth information from the scene rendering, and uses this copied depth data to determine occlusion relationships. Instead of重新computing geometric relationships, the patent copies and reuses depth buffer information for ambient occlusion calculations, significantly reducing computational cost during real-time rendering.
2Reliability
If image-based methods with two ND-buffers are used to capture occlusion from distant occluders, then under-occlusion artifacts are reduced, but device complexity and rendering cost increase
Solution Approach 1:
The patent extracts only the essential depth information needed for ambient occlusion from the depth buffer, rather than maintaining separate buffers for front and back faces. By extracting and reusing depth data intelligently, the patent achieves accurate occlusion detection with a single depth buffer, reducing device complexity while maintaining reliability.
3Productivity
If screen space postprocessing is used to compute ambient occlusion, then real-time rendering is enabled, but visual artifacts like over-occlusion occur due to assuming all samples are visible
Solution Approach 1:
The patent applies different sampling and computation strategies to different regions of the scene based on local geometric characteristics. By adapting the ambient occlusion computation to local conditions using horizon profiles, the patent reduces over-occlusion artifacts in screen space while maintaining real-time performance.
Data Source
AI summary
The method includes receiving a plurality of graphics primitives for rendering at a GPU of a computer system and rendering graphics primitives into pixel parameters of the pixels of a display, wherein the parameters include pixel depth values and pixel normal values. For each pixel of the display, an ambient occlusion process is performed. The algorithm takes as input a ND-buffer containing pixel depth values and pixel normals. Based on the pixel 3-D position and the pixel normal vector, horizon heights are computed by sampling the ND-buffer and an occlusion term is computed for each pixel based on the horizon heights. Based on the pixel 3-D position, the pixel normal vector, a normal occlusion term is computed by sampling the ND-buffer above the horizon in multiple directions. An ambient occlusion illumination value is computed by combining the horizon occlusion term and the normal occlusion term.


