Ray-Traced Scene Shadows with Shadow Maps for Alpha-Tested Geometry
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for ray-tracing shadows in scenes with alpha-tested geometry are resource-intensive due to the need for numerous time-consuming operations, particularly when dealing with large quantities of translucent foliage, leading to noisy shadow signals and inefficient rendering.
Innovation Solution
Implementing shadow map lookups to determine visibility and distance values for pixels, combining these with opaque results in a denoiser to smooth out shadows, and using a parallel processing unit (PPU) to accelerate these operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If ray-tracing is used to create realistic shadows with penumbras, then shadow quality is improved, but processing resources and time are excessively consumed
Solution Approach 1:
The patent segments the shadow rendering process into two distinct parts: (1) ray-tracing is applied only to opaque geometry to generate high-quality shadow maps, and (2) alpha-tested geometry utilizes these pre-generated shadow maps through simple lookup operations. This segmentation allows the computationally intensive ray-tracing to be performed once for opaque objects, while translucent objects benefit from the pre-computed data, dramatically reducing overall processing time while maintaining shadow quality.
Solution Approach 2:
The patent performs preliminary ray-tracing operations to generate shadow maps from opaque geometry before processing alpha-tested geometry. By pre-computing the shadow information and storing it in shadow maps, the system eliminates the need to perform expensive ray-tracing operations for each alpha-tested object, thereby reducing rendering time while preserving shadow realism.
2Productivity
If shadow map lookups are performed for alpha-tested geometry, then processing speed is improved, but shadow accuracy may deteriorate
Solution Approach 1:
The patent applies different rendering quality levels to different types of geometry in the scene. Opaque geometry receives full ray-traced shadow computation with high accuracy, while alpha-tested geometry uses optimized shadow map lookups with appropriate precision. This local quality approach ensures that shadow accuracy is maintained where it matters most (opaque objects) while achieving acceptable precision for translucent objects at lower computational cost.
3Measurement precision
If a denoiser is applied to smooth shadow signals, then shadow realism is improved, but additional processing resources are consumed
Solution Approach 1:
The patent extracts and removes the noise from shadow signals using a dedicated denoiser component. By separating the denoising function from the main rendering pipeline, the system can apply noise reduction specifically to shadow calculations without interfering with other rendering operations. This extraction allows for targeted application of computational resources to improve shadow realism only where needed.
4Measurement precision
If numerous ray-tracing operations are performed for alpha-tested geometry, then shadow accuracy is improved, but device complexity and resource usage increase
Solution Approach 1:
The patent merges the shadow computation for opaque and alpha-tested geometry into a unified approach using shadow maps. Both geometry types contribute to and utilize the same shadow map data structure, allowing the system to handle diverse object types with a single consistent methodology. This merging simplifies the overall processing architecture by eliminating the need for separate complex ray-tracing pipelines for different geometry types.
Data Source
AI summary
A ray (e.g., a traced path of light, etc.) is generated from an originating pixel within a scene being rendered. Additionally, one or more shadow map lookups are performed for the originating pixel to estimate an intersection of the ray with alpha-tested geometry within the scene. A shadow map stores the distance of geometry as seen from the point of view of the light, and alpha-tested geometry includes objects within the scene being rendered that have a determined texture and opacity. Further, the one or more shadow map lookups are performed to determine a visibility value for the pixel (e.g., that identifies whether the originating pixel is in a shadow) and a distance value for the pixel (e.g., that identifies how far the pixel is from the light). Further still, the visibility value and the distance value for the pixel are passed to a denoiser.


