Production Renderer Acceleration via Shader Function Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current production rendering techniques are hindered by the complexity of custom shaders and large texture data, leading to slow rendering times, and previous attempts to accelerate these processes have been complex and time-consuming, often requiring significant modifications or being impractical due to inaccessible shader source codes.

Innovation Solution

The method intercepts function calls from custom shaders, records their parameters, and executes them in batches on an accelerator like a GPU, using approximate shading to accelerate the rendering process without modifying the shader code, allowing for acceleration outside the source code and minimizing data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If production renderer uses custom shaders with complex models and large texture data, then rendering quality is improved, but rendering time increases significantly

Engineering Contradiction:
Improverendering qualityVSAvoidrendering time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent segments the rendering process into two distinct phases: a first pass that captures scene geometry and lighting information, and a second pass that uses pre-computed data to accelerate final rendering. This segmentation allows complex shader computations to be performed once and reused, reducing overall rendering time while maintaining quality

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-computing scene geometry, lighting, and material interactions in the first rendering pass. This pre-computed data is stored and reused in the second pass, eliminating the need to re-process complex shader computations and significantly reducing rendering time for high-quality images

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If production renderer processes complex custom shaders, then rendering accuracy is improved, but device complexity increases

Engineering Contradiction:
Improverendering accuracyVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent divides the complex shader processing into separate rendering passes, with the first pass handling complex computations and the second pass using simplified processing with pre-computed data. This segmentation reduces the complexity burden on the rendering system while maintaining accuracy

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary data structure that stores pre-computed rendering information between passes. This intermediary layer acts as a buffer that simplifies the second pass processing while preserving the accuracy requirements of complex shaders, reducing overall system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If production renderer executes function calls from custom shaders, then rendering completeness is improved, but productivity decreases

Engineering Contradiction:
Improverendering completenessVSAvoidrendering throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary action by executing and capturing all necessary function calls from custom shaders during the first rendering pass. This pre-computation ensures rendering completeness is achieved once, and the results are reused in the second pass, significantly improving rendering throughput without sacrificing completeness

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a simplified version of the rendering process in the second pass that copies and reuses data from the first pass. This copying approach maintains rendering completeness by preserving all necessary computations while improving productivity through efficient data reuse

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10269166B2Method and a production renderer for accelerating image rendering
Publication Date: 2019.04.23 NVIDIA CORP
  • US10269166B2 patent drawing
  • US10269166B2 patent drawing
  • US10269166B2 patent drawing

AI summary

A method, a computer program, and a production renderer for accelerating a rendering process of an image are provided. In one embodiment, the method includes intercepting a first invocation of a function from a custom shader during a rendering process of an image, computing a result of the function employing a processor, and returning the result to the custom shader in response to a second invocation of the function during the rendering process.