Bounding Volume Hierarchy for Primitive Vertex Culling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processing systems face inefficiencies in reducing vertex processing burdens, particularly in lower powered and portable devices, as existing techniques to identify non-visible primitives do not significantly decrease the number of vertices processed.

Innovation Solution

A method and apparatus that divide primitives into sub-sets and generate a tree representation, where each node represents a sub-set of primitives, their associated vertices, and the volume of space they occupy, allowing for efficient identification and rejection of non-visible primitives and vertices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional primitive culling techniques are used to identify non-visible primitives, then the number of visible primitives can be reduced, but the number of vertices processed remains significantly high

Engineering Contradiction:
Improveprimitive processing efficiencyVSAvoidnumber of vertices processed
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the set of primitives into multiple subsets and organizes them in a tree structure (BVH), where each node represents a spatial bounding volume containing a subset of primitives. This segmentation allows the system to test and eliminate entire subsets of primitives and their associated vertices in a single operation, rather than processing individual primitives or all vertices separately.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary spatial organization of primitives into a bounding volume hierarchy before rendering. By pre-computing the tree structure with bounding volumes for each node, the system can quickly determine which primitives and vertices are visible during rendering, avoiding the need to process vertices for primitives that will ultimately be culled.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all vertices in the vertex array are processed, then complete vertex processing is achieved, but bandwidth and power consumption increase significantly

Engineering Contradiction:
Improvecompleteness of vertex processingVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and processes only the vertices associated with visible primitives by traversing the BVH tree and identifying visible leaf nodes. Vertices belonging to primitives in invisible subtrees are excluded from processing entirely, reducing both computational workload and memory bandwidth requirements while maintaining completeness for visible geometry.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If all vertices in the vertex array are processed, then complete vertex processing is achieved, but bandwidth consumption increases significantly

Engineering Contradiction:
Improvecompleteness of vertex processingVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts and processes only the vertices associated with visible primitives by traversing the BVH tree and identifying visible leaf nodes. Vertices belonging to primitives in invisible subtrees are excluded from processing entirely, reducing both computational workload and memory bandwidth requirements while maintaining completeness for visible geometry.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If a tree representation is generated for all primitives, then spatial organization is improved, but device complexity increases

Engineering Contradiction:
Improvespatial processing efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a nested hierarchical structure where bounding volumes at each tree level contain and organize subsets of primitives from lower levels. This nesting allows efficient spatial queries by traversing from root to leaves, eliminating the need to examine all primitives individually while maintaining organized spatial relationships.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10176627B2Tree-based graphics primitive rendering
Publication Date: 2019.01.08 ARM LTD
  • US10176627B2 patent drawing
  • US10176627B2 patent drawing
  • US10176627B2 patent drawing

AI summary

A set of primitives is divided into plural sub-sets of primitives, and a tree representation for representing the set of primitives in which each leaf node of the tree represents one of the sub-sets, and each parent node of the tree represents a sub-set of primitives corresponding to the combination of the sub-sets of primitives of all of its child nodes, is generated. For each node of the tree representation data indicating: the sub-set of primitives that the node represents; the vertices that are used by the primitives in the sub-set of primitives that the node represents; and the volume of space that the sub-set of primitives that the node represents falls within, is determined. The tree representation is then used to determine a set of primitives and a set of vertices to be processed when processing the set of primitives for the output frame.