Tessellated Primitive Index Compression in Tile Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Tessellation in computer graphics leads to significant increases in memory and bandwidth requirements due to data expansion in the Tiled Screen Space Geometry Buffer, as conventional methods tessellate every patch into primitives before tiling, necessitating a more efficient compression method for the resulting geometry.
Innovation Solution
A method that compresses the list of domain point indices generated by tiling tessellated geometry using Index Buffer Compression with Prediction and Buffer Access Pattern Compression, allowing only the base patch and tessellation parameters to be stored, along with a list of primitives existing within each tile, and using predicted index values to reduce data storage needs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If tessellation is applied to convert low-detail surfaces into high-detail primitives, then visual quality and surface detail are improved, but memory and bandwidth requirements increase significantly
Solution Approach 1:
The patent extracts only the essential tessellation parameters (control points, tessellation factors, surface equations) from the fully tessellated geometry, storing merely the patch definition and tiling information rather than the complete expanded primitive data. This extraction approach reduces memory requirements while preserving the ability to regenerate high-detail surfaces when needed.
Solution Approach 2:
The patent performs preliminary tessellation parameter calculation and storage during the geometry processing phase, preparing tessellation factors and control point data in advance. This allows the rendering system to efficiently regenerate high-detail primitives during rasterization without requiring excessive memory bandwidth, as the essential tessellation information is already prepared and stored in compressed form.
2Reliability
If every patch is tessellated into primitives before tiling, then complete geometry data is available for rendering, but data expansion increases bandwidth requirements
Solution Approach 1:
The patent segments the geometry data into distinct components: patch control points, tessellation parameters, and tiling information. Each segment is stored separately in an optimized format, allowing the system to maintain complete geometry information while reducing overall data volume and bandwidth requirements through selective storage and on-demand regeneration of primitive data.
3Manufacturing precision
If high-order surfaces are divided into many small primitives, then rendering detail is improved, but the number of primitives increases leading to larger data structures
Solution Approach 1:
The patent implements a nested data structure where patch control points contain nested tessellation parameters, which in turn contain nested tiling information. This hierarchical nesting allows the system to represent complex high-detail geometry through multiple levels of abstraction, reducing the apparent data structure size while maintaining the capability to generate numerous small primitives for detailed rendering when required.
Data Source
AI summary
A method and apparatus for comprising primitive data generated by tessellation of patches in a three-dimensional computer graphics rendering system receives domain point indices for a first primitive in a list of primitives defining the tessellated patch, stores the domain point indices for the received primitive, compares domain point indices of a next primitive in the list with stored domain point indices and determines any matches, stores domain point indicates of the next primitive or, if a match was found, stores a reference to the position of the matched index, receives domain point indexes of the next primitive in the list and repeats the step until each primitive in the list has been compressed.


