About Tessellation
Let's start with a little bit of theory:
In surface modeling and solid modeling, Tessellation is the method used to represent 3D objects as a collection of triangles or other polygons. All surfaces, both curved and straight, are turned into triangles either at the time they are first created or in real time when they are rendered. The more triangles used to represent a surface, the more realistic the rendering, but the more computation is required.
When creating a mesh out of a CAD model, PiXYZ tessellation algorithm uses several parameters to create a surface mesh:
- Max Sag: The maximum distance between the geometry and the tessellation (also called "Chord error"). This parameter ensures that the mesh is similar enough to the original analytical surface (exact geometry).
A low value means that a very fine mesh is created. The distance values are expressed in millimeters.
- Max Angle: The maximum allowed angle between normals of two adjacent polygons (on the same face). This provides more precision on small radius fillets.
Adjust the "Max angle" parameter to keep enough polygons in high curvature areas whose radius is lower than the "Max Sag" value: fillets and chamfers for example.
- Max length: Used to control the length of a polygon (edge).
For a rendering usage, it is often not recommended to use the "Max Length" parameter. It increases the polygons count without significant improvement on the visual aspect. But in case of very long objects (a plane body, a train cabin…), this setting can avoid lighting artifacts caused by too long polygons.
In the example below, the "Max angle" parameter has improved fillet precision by adding a row of polygons without increasing the polygon count for the yellow piece contour:
Practical information
The Sag (or chord error) is a distance criteria: a smaller value is necessary to guarantee a sufficient quantity of polygons on small parts.
Anyway, a bigger part in term of “scale” does not mean that this part does not contain some potentially important details.
So a small Sag value can also be used to maintain quality on detailed areas of bigger parts.
In the below example, the red beam (way bigger than the yellow ring) was tessellated with a 5mm Sag, and 0.1mm for the ring.
The result is that the hole in the beam was turned into a square: we lost details on a big part.
This explains why PiXYZ tessellation algorithm, through its Sag setting, is not dependent from the scale (or bounding box size) of each of part, because we might lose details on bigger parts.
Anyway, there can be some good reasons to set the tessellation settings based on the scale of the parts of the scene. It can easily been done using scripting in PiXYZ STUDIO, targeting the bounding box size of the parts for example.
In a general approach, the best strategy is to find criteria (size, material, any metadata…) to perform a targeted tessellation, with different settings, based on these criteria.
For example you can tessellate with fine settings on a car body that has a brilliant aspect, so that reflections look nice.
TIPS From the "Tessellate" window, use the Presets displayed to either choose predefined settings, or set and save your own settings by creating a new Preset.
Related topics
- About Decimation
- About 3D Models Types