For each approximation setting, there are various settings, including tesselation method and style, that determine how the renderer tessellates objects at render time. You can manually change these settings or choose from a list of presets to simplify the process.
Parametric approximation subdivides the surface into u x v triangle pairs and tessellates each patch independently. If the surface is a curve, it ignores the v attribute.
Use Parametric approximation for surface approximations and curves, and for trace-only or shadow-only geometry. Do not use for displacement.
The Angle approximation method subdivides the surface until every angle between normals of adjacent tiles is less than the number of degrees specified. Use in conjunction with the Angle attribute.
The Pixel approximation method takes into account both Length and Distance. This method subdivides until no tile has an edge length that exceeds the specified Length. It also subdivides until the distance between the tessellation and the actual curve is less than the specified Distance. Use in conjunction with Any Satisfied. If Any Satisfied is selected, then only one of these conditions need to be satisfied. Otherwise, both conditions need to be satisfied.
This method of approximation is view dependent and is not recommended for use with instances because the same tessellation is applied to all instances of the same object. This may result in a really high or really low tessellation for both a near and a far object, neither of which is ideal. It is also not recommended for camera flythroughs and for objects that are offscreen but still appear in reflections or shadows. For instances and camera flythroughs, use the Angle Tolerance approximation method.
Curves are subdivided into equal pieces by the parametric approximation and into subdiv equal pieces by the regular parametric approximation.
For displacement mapped polygons and displacement mapped surfaces with a displace statement regular parametric has the same meaning as parametric in the approximation. For displacement mapped polygons the u_subdiv constant specifies that each edge in the triangulation of the original polygon is subdivided for the displacement 2u_subdivtimes. If a displace approximation is given for a displacement mapped surface, the initial tessellation of the underlying geometric surface is subdivided in the same way as for polygons. For example, a value of 2 leads to a fourfold subdivision of each edge. Non-integer values for the subdivision constant are admissible. Nothing is done if the expression above is smaller than 2 (if u_subdiv < 1). The v_subdiv constant is ignored for the parametric approximation of displacement maps.
Approximation Style
Tree, Grid, and Delaunay approximation algorithms are available for surface approximation only; they have no effect on curve approximations. Parametric approximation always uses the Grid algorithm; all other Approximation methods can use any style but Tree is the default.
These values are used by the Parametric approximation and subdivides each patch of the surface into equal-sized pieces in the U direction and V direction. Regular parametric approximation methods specify how many times each patch (for Parametric) or surface (for Regular Parametric) should be subdivided in the U and V directions.
When using the Length/distance/angle (LDA) approximation adaptive approximation method, these attributes can be used to control the minimum and maximum number of times that triangles in the tessellation are subdivided. The Max Subdivisions parameter is especially useful for preventing runaway situations where the approximation method wants to add many triangles to an area where they will not greatly improve the quality of the tessellation.
You can obtain good results with a Max Subdivisions value as low as 3. Generally, each subdivision level can increase the triangle count by a factor of 4, so raising the Max Subdivisions from 3 to 4 can produce 4 times as many triangles. Raising it to 5 can produce 16 times as many triangles, raising it to 6 can produce 64 times as many triangles, and so on.
This setting only applies to the Delaunay approximation type. It determines the maximum number of triangles that the final tessellation may contain.
Applies only to Delaunay approximation style.
Varies the density of triangles around the border of the surface, allowing for a smooth transition between a fine curve approximation and coarser surface approximation. It prevents a large number of tiny triangles at the trimming or hole curve to abruptly join very large triangles in the interior of the surface.
The angle constant specifies a lower bound related to the degree of the minimum angle of a triangle. Values from 0.0 to 30.0 can be specified. Small values up to 20.0 are recommended. The default is 0.0. High grading values require you to specify a maximum number of triangles (see Max triangles) to prevent too many triangles or endless mesh refinement.
Subdivides the surface or curve so that no edge length of the tessellation exceeds the edge parameter. Edge is given as a distance in the space the object is defined in, or as a fraction of a pixel diagonal in raster space if the view keyword is present. Small values such as 1.0 are recommended.
For Tree and Grid approximation, the Min, Max values (if specified), specify the minimum and maximum number of recursion levels of the adaptive subdivision. Min enforces a minimal triangulation fineness with no tests. Edges are further subdivided until they satisfy the given criterion or the max subdivision level is reached.
The defaults are 0 and 5, respectively; 5 is a very high number. Good results often occur with a maximum of 3 subdivisions.
For Delaunay approximation, Min, Max specifies the maximum number of triangles of the surface tessellation. This number is exceeded only if required by trimming, hole, and special curves because every curve vertex must become part of the tessellation regardless of the specified maximum.
For displacement mapped polygons and displacement mapped surfaces, length limits the size of the edges of the displaced triangles and ensures that at least all features of this size are resolved. Subdivision stops as soon as an edge satisfies the criterion or when the maximum subdivision level is reached.
Specifies the maximum distance between the tessellation and the actual curve or surface. The value of dist is a distance in the space the object is defined in, or a fraction of a pixel diagonal in raster space if the view statement is present.
As a starting point, a small distance such as 0.1 is recommended. For Tree and Grid approximation the min and max parameters, if present, specify the minimum and maximum number of recursion levels of the adaptive subdivision. For Delaunay approximation, the number max following the keyword max specifies the maximum number of triangles of the surface tessellation.
For displacement mapped polygons and displacement mapped surfaces with a displace approximation statement the distance criterion cannot be used in the same way because the displaced surface is not known analytically. Instead, the displacements of the vertices of a triangle in the tessellation are compared. The criterion is fulfilled only if they differ by less than the given threshold. Subdivision is finest in areas where the displacement changes. For example, if a black-and-white picture is used for the displacement map the triangulation will be finest along the borders between black and white areas but the resolution will be lower away from them in the uniformly colored areas. In such a case one could choose a moderately dense parametric surface approximation that samples the displacement map at sufficient density to catch small features, and use the curvature-dependent displace approximation to resolve the curvature introduced by the displacement map. Even if the base surface is triangulated without adding interior points, as if its a trim curve defined a polygon in parameter space, it is still possible to guarantee a certain resolution by increasing the min subdivision level. Only the consecutive subdivisions are then performed adaptively.
The angle statement specifies the maximum angle in degrees between normals of adjacent tiles of a displaced polygon or the tessellation of a surface or its displacement or between tangents of adjacent segments of the curve approximation. Large angles such as 45.0 are recommended. For tree and grid approximation the min and max parameters, if present, specify the minimum and maximum number of recursion levels of the adaptive subdivision. For Delaunay approximation, the number max following the keyword max specifies the maximum number of triangles of the surface tessellation.
View dependent
Controls whether the edge argument of the length and spatial statements and the dist argument of the distance and curvature statements are in the space the object is defined in or in raster space.
Turn this on to express the Length and Distance attribute values in pixels instead of object-space units (the default). The advantage of using view-dependent values is that objects that are close to the camera receive many triangles, while objects that are far away (or not visible at all) are approximated much more coarsely.
If the View Dependent attribute is turned on, this value is specified in pixels, otherwise it is specified in object-space units. The Length criterion is especially useful in conjunction with view dependency. For example, a view-dependent value of Length = 0.5 means subdivide until all triangles are no bigger than half a pixel in the resulting image. If the Length attribute is set to 0.0, this criterion is ignored by the tessellator.
If the View Dependent flag is turned on, this distance is expressed in pixels, otherwise it is expressed in object-space units. The lower the value, the more closely the tessellated surface will match the exact NURBS surface. Small values such as 0.1 work well (with view dependency disabled). If the Distance attribute is set to 0.0, this criterion is ignored by the tessellator.
The Spatial approximation method is the same as the Length criteria from the Length/Distance/Angle method. Using this method, the mesh will be subdivided until all triangles are less than a certain size, determined by the Length attribute. This value is expressed in either pixels or object-space units, as determined by the View Dependent flag. This method is the only one available when using the Fine approximation type.