Successive Convolution Compositing for Soft Shadow Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing 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 different depths, leading to artifacts like cracks in shadows and inaccuracies in light transmission.

Innovation Solution

A successive-convolution-compositing technique that iteratively processes shadowing and visible sprites by transforming their coverage maps into the parametric space of the shadowed or translucent surface, followed by incremental Gaussian convolution to achieve a composite blur width consistent with the total Z-distance, ensuring accurate and efficient rendering of soft shadows and translucency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If independent convolution and compositing of each shadowing sprite's coverage mask is performed, then computational efficiency is improved, but shadow accuracy deteriorates due to cracks appearing at edges where sprites touch

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidshadow accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by merging all coverage masks together before performing convolution. This ensures that the convolution operation is applied to the complete shadow information from all sprites, preventing cracks at edges where sprites touch. The merging step combines all coverage masks into a single composite mask, which is then convolved once to produce accurate soft shadows without the computational overhead of multiple independent convolutions.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If all coverage masks are composited and then blurred, then shadow accuracy is improved, but computational complexity increases and the method is only accurate when all shadowing sprites are at the same distance

Engineering Contradiction:
Improveshadow accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by performing convolution incrementally as each coverage mask is merged, rather than convolving the entire composite mask at once. This allows the shadow blur to be computed locally for each sprite's contribution, taking into account the specific depth distance of each sprite. The incremental approach maintains accuracy for sprites at different distances while reducing computational complexity compared to computing all shadows independently and then compositing.

Inventive Principle:
Principle #3Local quality

3Manufacturing precision

If ray tracing is used to compute light occlusion accurately, then shadow accuracy is improved, but computational cost becomes prohibitive

Engineering Contradiction:
Improveshadow accuracyVSAvoidcomputational cost
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies mechanics substitution by replacing the ray tracing mechanism with a convolution-based approach. Instead of casting and tracing numerous rays to compute light occlusion, the patent uses coverage masks combined with convolution operations to achieve accurate soft shadow rendering. This substitution dramatically reduces computational cost while maintaining shadow accuracy, making the solution practical for real-time rendering applications.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS7589724B1Successive-convolution-compositing technique for rendering soft shadows
Publication Date: 2009.09.15 ADOBE INC
  • US7589724B1 patent drawing
  • US7589724B1 patent drawing
  • US7589724B1 patent drawing

AI summary

One embodiment of the present invention provides a system that uses a successive-convolution technique to render shadows produced by a set of shadowing sprites onto a shadowed sprite. During operation, the system initializes a shadow map. Next, the system iteratively processes each shadowing sprite, starting at a furthest shadowing sprite from the shadowed sprite, and iterating through successively nearer shadowing sprites, until a nearest shadowing sprite is processed. In doing so, the system processes each shadowing sprite by first transforming the shadowing sprite's coverage map to the parametric space of the shadowed sprite. Next, the system composites the transformed shadowing sprite into the shadow map, and then incrementally blurs the resultant shadow map.