User-Controlled Scene Graph Rendering Order for GPU Adaptability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing scene graphs in computer graphics lack user control over rendering order and are not adaptable to rapid developments in GPU technology and rendering algorithms, limiting developer flexibility and innovation.

Innovation Solution

A method and system that allow users to control the rendering order of a scene graph by adding nodes and extending existing nodes, enabling the expression of new rendering algorithms directly in the scene graph semantics, and separating the rendering API from the underlying hardware API, allowing for user-defined traversal orders and optimizations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a traditional scene graph structure is used with automatic traversal, then the system maintains simplicity of implementation, but the developer loses control over rendering order and cannot adapt to new GPU algorithms

Engineering Contradiction:
Improveadaptability to new GPU algorithmsVSAvoidscene graph structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The scene graph is divided into separate traversal phases (e.g., geometry phase, texture phase, pixel phase) that can be independently controlled and configured. Each phase can be traversed in a specific order defined by the developer, allowing adaptation to different GPU algorithms without restructuring the entire scene graph.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The traversal order of the scene graph is made dynamic and configurable rather than fixed. Developers can define different traversal sequences based on rendering requirements and GPU capabilities, enabling the system to adapt to new algorithms while maintaining a consistent underlying data structure.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the rendering API is tightly coupled with hardware API, then the system achieves optimal performance for current hardware, but it cannot incorporate new rendering algorithms without system software updates

Engineering Contradiction:
Improveability to incorporate new algorithmsVSAvoidsoftware update time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

An intermediate abstraction layer is introduced between the rendering API and the hardware API. This layer allows new rendering algorithms to be implemented and configured in the scene graph without requiring changes to the underlying hardware API or system software, enabling rapid incorporation of new algorithms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system allows dynamic configuration of rendering parameters and algorithm selection through scene graph node attributes and traversal phase settings. Developers can change rendering algorithms by modifying parameters in the scene graph description rather than requiring software updates.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If automatic traversal order is used in scene graph, then the implementation is simpler, but rendering performance is suboptimal due to inability to optimize for specific algorithms

Engineering Contradiction:
Improverendering performanceVSAvoidcontrol difficulty
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

Different parts of the scene graph can have different traversal orders optimized for specific rendering algorithms. Each node or phase can be locally configured with its own traversal properties, allowing performance optimization without requiring global control complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8400444B2Method to render a root-less scene graph with a user controlled order of rendering
Publication Date: 2013.03.19 BENTLEY SYST INT LTD
  • US8400444B2 patent drawing
  • US8400444B2 patent drawing
  • US8400444B2 patent drawing

AI summary

A scene graph is provided which represents data and a set of processes thus providing an enhanced approach to the previously known scene graph concept. With this approach the scene graph becomes a rendering description of the data rather than a world description. Previously known scene graphs represent a structure of objects and their attributes. The scene graph has a notation of the traversing order, which together with the types of nodes, the nodes position, node functionality and node state determine the rendering order. Thus, any effects supported by the underlying rendering pipeline can be expressed directly in the scene graph by the user. An API is provided for the scene graph, controlling the actual rendering order and optimization to the user. The scene graph is extensible allowing the user to experiment and express new rendering algorithms in the scene graph semantic.