Skip to content

The Visual Asset Creation Process - Part 2

Note: This blog has previously been published on www.tacton.com. The author is Marco Lang, Tacton’s Senior Visualization Product Manager. Marco has more than 10 years’ experience working with visual asset creation, and configuration at Lumo Graphics, and now Tacton. In case you missed it check out the first installment of Visual Asset Creation here.

Optimizing visual asset creation a definition
Optimization refers to the process of finding a trade-off between Visual Fidelity, download speed and Rendering performance.

CAD 
In modern engineering design, nearly all 3D geometries are created by computer-aided design (CAD) systems. And those geometries are the natural starting point or input for creating Visual Assets for a 3D real-time visualization.
B-Reps and NURBS 
Boundary representations (B-Rep) are the primary method of representing modeled objects in those CAD systems. The mathematical description of curve and surface elements can vary but they are usually given in parametric forms represented by non-uniform rational B-splines (NURBS).

(Image of teapot represented by a B-Rep)
The main advantage of this representation is the ability to compactly describe a surface of almost any shape and store it in an efficient way. Additionally, the underlying math calculates an accurate definition of the surface shape independent of the distance the surface is examined. They do not have any pre-defined “resolution”.

The CNC machine tools that create the tooling for final products work from these accurate, smooth NURBS data. 
Tessellation 
Although NURBS are ubiquitous in the CAD industry, there is currently no built-in hardware support for displaying NURBS surfaces. To be displayed in a 3D application, NURBS surfaces need to be translated into meshes (polygons, edges, vertices), the native language of modern graphics cards. Graphics Processing Unit (GPU) pipelines are very efficient in processing triangles and they do not work properly with parametric surfaces.

visual assets

(Image of a teapot represented by a triangle model)
 
A Mesh Surface 
A mesh is composed of multiple connected polygons, or triangles, forming a mesh surface that is understandable by a GPU, to be rendered in a 3D application. The number of triangles in the polygonal representation depends on accuracy used when approximating the original precise B-Rep representation. This process of taking the continuous, mathematical equation of a surface and approximating it with polygons is called meshing, triangulation or tessellation.

Since the direct evaluation of NURBS surfaces on the GPU is a highly complex and computationally intensive task, they are usually converted in simpler surface descriptions and tessellated on the CPU (Central Processing Unit) as a pre–processing step. Afterward, the set of generated triangles is sent to the GPU.

The resource demands (CPU, GPU, Memory) to execute a dynamic re-tessellation at every frame on top of all other relevant tasks necessary for an interactive real-time visualization are simply too much for an average consumer device. Therefore, tessellation is not done on the fly while the 3D real-time visualization is running, it is done as a pre-process upfront. 
Simplification 
It is important to know that when using triangles to approximate smooth edges and 3D it is not possible to achieve the perfect smoothness of an image initially created in NURBS. Unless a very high number of triangles is used, relating to performance issues on the other side. Removing, combining or simplifying non-visual elements from CAD files is crucial for generating high-performance and high-quality visual assets. Optimizing visual asset creation is a key measure of success for any visual configuration project.

Tessellations

(Images of a teapot with different tessellation versions)

Part 3: Optimizing Visual Asset Creation will be available in a few weeks.

You've reached the end of the page...

Ready to learn more? Check out the online ebook on CPQ with the possiblity to book a CPQ introduction with Magnus and Patrik at cpq.se