3D Scene Rendering with Unified VBOs and Object ID Metadata
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems struggle to efficiently render large 3D scenes with complex geometries and numerous objects on devices with limited processor and memory capacity, leading to high CPU load and low frame rates due to the need for numerous draw calls and large metadata volumes.
Innovation Solution
Combine 3D scene objects into fewer, larger Vertex Buffer Objects (VBOs) and use Object IDs to manage metadata, enabling a single draw call to handle multiple materials and objects, with separate frame buffers for object selection and metadata lookup.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If each object in a 3D scene is rendered with a separate draw call, then object detail and material variety are maintained, but CPU workload increases and frame rate decreases
Solution Approach 1:
The patent merges multiple objects and materials into a single draw call by using a unified vertex buffer object (VBO) that stores all object vertices with their corresponding material information. This allows the GPU to render all objects in one batch operation, reducing the number of draw calls from thousands to just one, thereby dramatically improving frame rate while maintaining object detail through proper vertex and material indexing.
2Measurement precision
If metadata for each object is stored and processed separately, then object identification and selection are accurate, but memory usage and processing time increase
Solution Approach 1:
The patent creates a universal metadata structure that serves multiple functions simultaneously. A single metadata array stores identification information, material properties, and selection state for all objects, eliminating the need for separate metadata structures for each object. This multi-functional approach maintains accurate object identification while significantly reducing total metadata volume and processing overhead.
3Productivity
If the rendering system processes all objects simultaneously, then complete scene rendering is achieved, but processor capacity is overwhelmed
Solution Approach 1:
The patent replaces the traditional CPU-driven incremental rendering approach with a GPU-accelerated batch processing system. By transferring all object vertices and material data to a unified VBO in GPU memory, the system enables the GPU to process all objects in a single parallel operation, substituting sequential CPU processing with parallel GPU computation, thereby achieving high rendering speed without overwhelming processor capacity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
According to the present invention, conventional 3D data models typically stored in a vertex buffer are processed so that all geometry is combined to one big geometry per node as an VBO. The vertex contains position (x,y,z), Normal (x,y,z), but according to the present invention also an Object ID for each object. Further, a metadata database is created where all additional information is stored, and if there are multiple geometries in the same object, multiple Object IDs to the same metadata entry are added under primitives. By extracting metadata and Materials, it is made possible to handle a node as a single Vertex Buffer Object (VBO). This is highly efficient instead of doing one draw call per object.