Vertex Shader Two-Pass Rendering for Multiview Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in multiview rendering, as they perform redundant vertex shading computations for all vertices, including those outside the view frustum or belonging to back-facing primitives, which are not used in generating the final graphics output.

Innovation Solution

The proposed solution involves a two-pass vertex shading arrangement, where a first vertex shading operation generates separate shaded attribute values for each view, and a second operation generates common shaded attribute values for view-independent attributes, conditional on the vertex's necessity for further processing, thereby reducing unnecessary computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If vertex shading computations are performed for all vertices in multiview rendering, then complete vertex attribute data is generated for all views, but redundant computations are performed for vertices outside view frustum or belonging to back-facing primitives

Engineering Contradiction:
Improvecompleteness of vertex shadingVSAvoidrendering efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing a first vertex shading operation that generates view-dependent vertex shaded attribute data before determining whether vertices should be processed further. This preliminary shading enables subsequent culling operations to efficiently identify and discard vertices outside view frustums or belonging to back-facing primitives, avoiding redundant second vertex shading computations for discarded vertices while maintaining complete processing for visible vertices

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If separate vertex shading is performed for each view, then view-dependent attributes are correctly rendered for all views, but processing time increases due to multiple computations

Engineering Contradiction:
Improveview-dependent rendering accuracyVSAvoidvertex shading processing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent segments the vertex shading process into two distinct operations: a first vertex shading operation that processes view-dependent attributes and generates separate vertex shaded attribute data for each view, and a second vertex shading operation that processes view-independent attributes. This segmentation allows the system to perform view-dependent shading once per view only for vertices that pass culling tests, rather than performing complete vertex shading for all vertices in all views, thereby reducing total processing time while maintaining rendering accuracy

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If all vertex attribute values are shaded for each view, then complete attribute data is available for all views, but computational redundancy increases for view-independent attributes

Engineering Contradiction:
Improvevertex attribute data completenessVSAvoidcomputational energy
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent applies local quality by differentiating the processing of vertex attributes based on their dependency characteristics: view-dependent attributes (such as position) are shaded separately for each view in the first vertex shading operation, while view-independent attributes (such as color, texture coordinates, normals) are shaded only once in the second vertex shading operation. This differentiated approach ensures that each attribute type receives the appropriate level of processing - view-dependent attributes get view-specific transformation while view-independent attributes get single computation reused across all views, optimizing computational energy usage while maintaining data completeness

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10607400B2Graphics processing systems using a vertex shader to render plural images
Publication Date: 2020.03.31 ARM LTD
  • US10607400B2 patent drawing
  • US10607400B2 patent drawing
  • US10607400B2 patent drawing

AI summary

A graphics processing pipeline comprises vertex shading circuitry that operates to vertex shade position attributes of vertices of a set of vertices to be processed by the graphics processing pipeline, to generate, inter alia, a separate vertex shaded position attribute value for each view of the plural different views. Tiling circuitry then determines for the vertices that have been subjected to the first vertex shading operation, whether the vertices should be processed further. Vertex shading circuitry then performs a second vertex shading operation on the vertices that it has been determined should be processed further, to vertex shade the remaining vertex attributes for each vertex that it has been determined should be processed further, to generate, inter alia, a single vertex shaded attribute value for the set of plural views.