GPU CAD Rendering via Analytic NURBS Textures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current CAD systems face issues with crack/gap artifacts between faces when directly rendering solid models on GPUs without tessellation, due to approximations of trimming curves, which hinder high-quality rendering and increase memory requirements.
Innovation Solution
The system employs a boundary representation-based approach, using topology information to encode faces as textures and perform ray casting computations, eliminating the need for exact trimming curve geometry by classifying points based on neighboring faces and surfaces, and utilizing analytic surface representations for precise point classification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If direct rendering of solid models on GPU is used, then rendering speed and interactivity are improved, but crack/gap artifacts appear between faces due to approximations of trimming curves
Solution Approach 1:
The patent introduces an intermediary representation layer between the exact B-rep geometry and the GPU rendering pipeline. This intermediary uses trimmed NURBS surfaces with analytic representations as mediators to bridge the gap between precise CAD geometry and efficient GPU rendering, eliminating the need for approximate trimming curve geometry while maintaining both high rendering quality and speed.
Solution Approach 2:
The patent changes the mathematical representation parameters from approximate trimming curve geometry to analytic NURBS surface representations. By parameterizing surfaces analytically and using exact B-rep topology, the system achieves precise rendering without gaps while maintaining GPU rendering performance through efficient evaluation of these analytic representations.
2Manufacturing precision
If tessellation is used to render solid models, then rendering quality is improved, but memory requirements increase significantly
Solution Approach 1:
The patent extracts the essential geometric information from the complete tessellated model and stores only the compact B-rep representation and analytic surface definitions in memory. The heavy tessellation data is extracted from CPU memory and processed directly on the GPU, significantly reducing the amount of data that needs to be stored and transmitted while maintaining rendering quality.
Solution Approach 2:
The patent transitions from storing 2D polygonal tessellation data to storing 3D analytic surface representations with parametric equations. This dimensional change allows the system to represent complex surfaces more compactly using mathematical functions rather than discrete polygon data, reducing memory requirements while preserving geometric accuracy.
3Manufacturing precision
If tessellation is performed with fine-grained sampling along trimming loops, then rendering quality along trimming loops is improved, but the process becomes time consuming
Solution Approach 1:
The patent performs preliminary action by pre-computing and storing analytic representations of trimmed NURBS surfaces during the model loading phase. This preliminary processing eliminates the need for time-consuming fine-grained sampling during rendering, as the analytic forms are ready for direct evaluation on the GPU without requiring iterative tessellation computation.
Solution Approach 2:
The patent replaces the mechanical tessellation process (iterative sampling and polygon generation) with an analytic mathematical evaluation system. Instead of mechanically generating triangles through sampling, the system uses analytic NURBS equations that can be evaluated directly and efficiently on the GPU, substituting computational geometry algorithms with mathematical function evaluation.
Data Source
Figure 1
Figure 2a~2b
Figure 3
AI summary
A computer-implemented method and system for rendering a computer-aided design model includes constructing a boundary representation data structure of the model comprising topological data for a face, constructing a data structure representing a parameter space of the face, and decomposing the parameter space into cells, where each cell indicates the presence of the face in the cell. The cells are encoded in a texture construct that is transmitted to a graphics processing unit where further processing renders the face on a computer monitor.