Successive Convolution Compositing for Translucent Surface Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current techniques for rendering soft shadows and translucent surfaces in graphical images are computationally intensive and inaccurate when dealing with multiple shadowing sprites or translucent surfaces at varying depths, leading to artifacts like cracks and incorrect light transmission.
Innovation Solution
A successive-convolution-compositing technique that iteratively processes shadowing or visible sprites by transforming their coverage maps into the parametric space of the shadowed or translucent surface, followed by incremental Gaussian convolution, ensuring accurate and efficient rendering of soft shadows and translucency by accounting for the total Z-distance between sprites.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If independent convolution and compositing of each shadowing sprite's coverage mask is performed, then the rendering process is computationally simpler and faster, but cracks appear in the shadow along edges where shadowing sprites touch
Solution Approach 1:
The patent merges all coverage masks of shadowing sprites into a single composite mask before performing convolution. This ensures that regions where multiple shadowing sprites touch are properly handled, preventing cracks in the shadow while maintaining computational efficiency through a single convolution operation rather than multiple independent operations.
2Manufacturing precision
If all coverage masks are composited into the shadow map and then blurred, then shadow accuracy is improved, but the technique is only accurate when all shadowing sprites are at the same distance from the shadowed sprite
Solution Approach 1:
The patent applies different blur radii to different regions of the shadow map based on the depth distance of shadowing sprites from the shadowed sprite. Sprites closer to the shadowed sprite receive smaller blur radii, while those farther away receive larger blur radii. This local differentiation maintains accuracy for sprites at varying depths while preserving the efficient compositing-then-blur workflow.
3Manufacturing precision
If ray tracing is used to compute light occlusion directly for each point on the shadowed sprite, then shadow accuracy is significantly improved, but computational complexity and processing time become prohibitive
Solution Approach 1:
The patent replaces the complex ray tracing mechanical system with a convolution-based mathematical approach. Instead of tracing individual light rays from the light source to each point on the shadowed sprite, the system uses 2D convolution of coverage masks with appropriate blur radii to compute shadow softness. This substitution maintains accuracy while dramatically reducing computational complexity.
4Ease of manufacture
If convolution filtering is applied to approximate area light source effects, then rendering of soft shadows is simplified, but the technique is only accurate for scenes with two layers and a single shadowing sprite
Solution Approach 1:
The patent segments the shadow computation process into distinct stages: first compositing all coverage masks in back-to-front order to handle multiple layers correctly, then applying convolution with depth-dependent blur radii to achieve soft shadow effects. This segmentation allows the technique to handle complex multi-layer scenes with multiple shadowing sprites at different depths while maintaining the simplicity of convolution-based rendering.
Data Source
AI summary
One embodiment of the present invention provides a system that uses a successive-convolution technique to render a set of visible sprites which are visible through a translucent surface. During operation, the system first initializes a translucent light map to a background color. Next, the system iteratively processes each visible sprite, starting at a furthest visible sprite from the translucent surface, and iterating through successively nearer visible sprites until a nearest visible sprite is processed. While doing so, the system processes each visible sprite by first compositing the visible sprite into the translucent light map, and then incrementally blurring the resultant translucent light map.


