Multiresolution Cache for Surface Attribute Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Surfaces without a global surface coordinate system, such as subdivision, implicit, and fractal surfaces, face challenges in caching and efficiently retrieving surface attribute values due to the lack of a coordinate system to specify point locations, leading to inefficient memory usage and repeated evaluations as the surface pose changes.

Innovation Solution

Dividing these surfaces into regions with local surface coordinate systems to enable caching and retrieval of surface attribute values using a multiresolution cache, allowing for efficient storage and reuse of attribute values across different resolution levels, even when surfaces are discontiguous.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If surfaces without global coordinate systems are used, then modeling flexibility and surface quality are improved, but caching and retrieval of surface attribute values becomes inefficient

Engineering Contradiction:
Improvemodeling flexibilityVSAvoidcaching efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent divides surfaces without global coordinate systems into multiple surface regions, each with its own local coordinate system. This segmentation allows attribute values to be cached locally in a multiresolution cache structure, enabling efficient retrieval without requiring a global coordinate system while preserving the modeling flexibility of complex surface types.

Inventive Principle:
Principle #1Segmentation

2Productivity

If surfaces are divided into regions with local coordinate systems, then caching efficiency is improved, but data structure complexity increases

Engineering Contradiction:
Improvecaching efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a multiresolution cache structure where surface regions are organized in nested hierarchy levels. Each level contains regions at a specific resolution, with coarser levels providing overview data and finer levels providing detailed data. This nesting approach manages the complexity of local coordinate systems by organizing them in a structured, hierarchical manner that facilitates efficient caching and retrieval.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Productivity

If attribute values are cached for surfaces without global coordinate systems, then rendering performance is improved, but memory usage increases

Engineering Contradiction:
Improverendering performanceVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements a multiresolution cache that dynamically manages memory allocation for cached attribute values. The cache structure allows regions to be stored at multiple resolution levels, enabling the system to allocate memory efficiently based on the actual detail requirements of different surface regions. This dynamic approach improves rendering performance by caching only necessary data at appropriate resolutions while optimizing memory usage.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8189006B1Caching attributes of surfaces without global parameterizations
Publication Date: 2012.05.29 PIXAR CORP
  • US8189006B1 patent drawing
  • US8189006B1 patent drawing
  • US8189006B1 patent drawing

AI summary

Surfaces without a global surface coordinate system are divided into surface regions having local surface coordinate systems to enable the caching of surface attribute values. Surface attribute functions are evaluated to determine surface attribute values for the surface regions. A surface attribute value for a surface region may include contributions from two or more adjacent surfaces. A multiresolution cache stores surface attribute values at different resolution levels for surface regions of one or more surfaces, which may be discontiguous. Surface attribute values for a surface are retrieved from the multiresolution cache by dividing the surface into surface regions at a desired resolution level and selecting a corresponding resolution level of the multiresolution cache. One or more cached surface attribute values are retrieved for each surface region. Surface attribute values can be artistically or procedurally generated and can specify surface attributes including optical, illumination, animation, simulation, modeling, or rendering attributes.