Soft Shadowing via Pre-computed Visibility Logs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for generating soft shadows in real-time are computationally complex and inefficient, especially when dealing with dynamic scenes containing multiple moving objects, as they require extensive numerical integration and spherical harmonic operations.

Innovation Solution

The technique pre-computes visibility logs of blockers and accumulates them in log space, allowing for real-time exponentiation to obtain the product visibility vector, which is then combined with light intensity and surface reflectance to determine shading, reducing computational costs and enabling efficient handling of multiple blockers and dynamic geometry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If numerical integration over many light directions is used to generate soft shadows, then shadow accuracy is improved, but rendering time increases excessively

Engineering Contradiction:
Improveshadow accuracyVSAvoidrendering time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent pre-computes visibility logs for all blockers in the scene before rendering. These visibility logs capture the shadowing effects of blockers at sampled points in volumetric space around each blocker. By performing this complex integration work beforehand, the actual real-time rendering only needs to accumulate pre-computed logs and exponentiate them, reducing rendering time while maintaining shadow accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If spherical harmonic operations are used to compute soft shadows with multiple blockers, then shadow quality is improved, but computational complexity increases

Engineering Contradiction:
Improveshadow qualityVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent pre-computes spherical harmonic visibility logs for all blockers before runtime rendering. Each blocker's visibility function is expanded in spherical harmonics and stored as logs. During real-time rendering, the system accumulates these pre-computed logs and exponentiates them to obtain the product visibility vector, avoiding the need to perform spherical harmonic products at runtime and significantly reducing computational complexity.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If visibility logs are accumulated and exponentiated in real-time, then computation speed is improved, but mathematical operation complexity increases

Engineering Contradiction:
Improvecomputation speedVSAvoidmathematical operation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transforms the visibility computation problem by working in log space instead of direct visibility space. By accumulating logs of visibility functions and then exponentiating the sum, the system converts a complex product operation into a simpler sum operation followed by a single exponentiation. This parameter transformation maintains computational speed while managing mathematical complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7589725B2Soft shadows in dynamic scenes
Publication Date: 2009.09.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7589725B2 patent drawing
  • US7589725B2 patent drawing
  • US7589725B2 patent drawing

AI summary

The present soft shadowing technique pre-computes visibility of blockers using a log of a spherical harmonic visibility function. These logs can then be accumulated and exponentiated in real-time to yield the product visibility vector over all the blockers. The product visibility vector is combined with the light intensity and surface reflectance to determine shading at a receiver point in a computer-generated scene.