Octree Frustum Culling via Clip Space Transformation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer graphics rendering methods face impracticality due to memory limitations and computational expense when processing large octrees, especially with dynamic viewing, which requires constant updates and is inefficient for real-time frame rates.

Innovation Solution

The method involves loading a data structure representing a scene in world space, transforming it into clip space, subdividing it to form child data structures, testing which nodes are within the viewing frustum, and recursively subdividing and testing until nodes are too small to display effectively, allowing for efficient image generation on a display device without relying heavily on the graphics processing unit.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If GPGPU is used for octree processing with world space subdivision, then processing capability is improved, but memory limitations prevent handling of large octrees

Engineering Contradiction:
Improveprocessing capabilityVSAvoidmemory capacity
Core Design Contradiction:
PowerVSQuantity of substance

Solution Approach 1:

The patent divides the large octree data structure into smaller manageable segments that can be processed in batches. By segmenting the octree traversal and processing tasks, the system can handle large octrees that would otherwise exceed GPU memory capacity, while still utilizing GPU processing power for each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary CPU-GPU coordination mechanism where the CPU manages memory allocation and data transfer, acting as a mediator between the limited GPU memory and the large octree data structure. This allows the system to overcome GPU memory limitations while maintaining efficient processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If dynamic viewing is implemented with on-demand octree loading, then viewing flexibility is improved, but constant updates become impractical

Engineering Contradiction:
Improveviewing flexibilityVSAvoidupdate efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent performs preliminary octree subdivision and frustum culling in clip space before rendering. By pre-processing the octree data structure and determining visible nodes in advance, the system reduces the need for constant updates during dynamic viewing, improving update efficiency while maintaining viewing flexibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the coordinate space parameter from world space to clip space for octree processing. This parameter change transforms the frustum culling operation into a simpler comparison task in clip space, enabling faster updates during dynamic viewing without sacrificing viewing flexibility.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If CPU-based bit block transfer is used for image generation, then memory constraints are relieved, but computational complexity increases

Engineering Contradiction:
Improvememory usageVSAvoidcomputational complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent extracts the computationally intensive octree traversal and frustum culling operations from the GPU and performs them on the CPU using bit block transfer. This extraction reduces GPU memory requirements while the patent optimizes the CPU implementation to manage computational complexity through efficient algorithms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses bit block transfer to efficiently copy and process image data in memory. By utilizing optimized bit block operations, the system reduces the computational complexity burden on the CPU while still achieving the goal of relieving GPU memory constraints.

Inventive Principle:
Principle #26Copying

4Measurement precision

If frustum culling is performed in world space, then spatial accuracy is maintained, but processing time increases for large octrees

Engineering Contradiction:
Improvespatial accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent inverts the traditional approach by performing frustum culling in clip space rather than world space. This inversion transforms the complex spatial calculations into simpler coordinate comparisons, dramatically reducing processing time for large octrees while maintaining the accuracy needed for correct frustum culling through the mathematical properties of clip space transformation.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS11238645B2Method and system for computer graphics rendering
Publication Date: 2022.02.01 POINTERRA TECH PTY LTD
  • US11238645B2 patent drawing
  • US11238645B2 patent drawing
  • US11238645B2 patent drawing

AI summary

A method and system of computer graphics rendering implemented upon a processor in communication with a memory device storing a data comprises: loading a data structure representing at least a part of a scene in world space for display into the processor; a transform module transforming the data structure from world space to clip space; a dividing module subdividing the data structure in clip space so as to form child data structures; and a testing module testing which of the plurality of child data structures are within a viewing frustum, so that child data structures outside of the viewing frustum are discarded and a plurality of remaining nodes are retained. The plurality of remaining data structures are subsequently subdivided and tested until the plurality of remaining data structures do not overlap with the viewing frustum. A display module processing the plurality of remaining data structures for generation of an image on a display device.