Surface Approximation settings (Attribute Editor)
 
 
 

The following settings appear when an approximation node is selected in the Approximation Editor, or when an object to which an approximation node has been assigned is selected in the scene view.

Most of these settings are similar to other types of approximation nodes: trim curve, and displacement approximations.

Presets

This drop-down list provides many useful preset tessellation settings.

You can select an item from this list to load the preset values for the approximation node's attributes. You can use these settings as-is, or as a starting points for tweaking. By default, the Presets tab is set to Custom, which means that you have control over all approximation attributes.

Parametric Grid (Low/Mid/High) Quality

Uses the Parametric approximation method to tessellate a surface into triangles. With this method, each patch (area between isoparms) is subdivided into a fixed number of triangles.

Use this preset to produce tessellations where triangles are distributed roughly according to the spacing of isoparms on the surface, with closer isoparms producing higher triangle densities.

Regular Grid (Low/Mid/High) Quality

Uses the Regular Parametric approximation method, where the surface as a whole is subdivided into a fixed number of triangles (instead of each patch, as is the case with the Parametric method).

Use this preset to ensure an even triangulation over surfaces where the spacing of isoparms is uneven.

Angle Detailed (Low/Mid/High) Quality

Uses an adaptive tessellation method in which more triangles are added to areas of high curvature. The goal of this method is to add triangles where they are needed to capture sharp features, while at the same time using just a few triangles in large, flat areas where they are not needed.

Pixel Area (Low/Mid/High) Quality

Tessellates surfaces based on their size (in pixels) in the final rendered image. Surfaces that are close to the camera will be tessellated heavily, while surfaces that are far away from the camera will receive coarser tessellations. The goal of this preset is to focus the most attention on surfaces that are more significant to the final image.

Approx Style

Determines the general subdivision scheme that is used to break the surface into triangles. For examples, see Approximation styles.

Grid

Works on a grid of isolines that allows subdivision only by adding more isolines. Since isolines always run from one edge of the surface to the opposite edge, and since only whole isolines can be added, this produces regular triangle meshes which can sometimes contain many more triangles than necessary.

Tree

Specifies a hierarchical subdivision style that allows local subdivisions without affecting other areas. The local subdivisions are similar to the Grid method, but do not cross over to other surface patches.

Delaunay

Specifies a mesh refinement technique based on Delaunay triangulation, which attempts to maximize triangle compactness and to avoid thin triangles. Triangle vertices are generally not restricted to rectangular isoline grid points as in the Grid and Tree styles. The Delaunay style is supported only for free-form surfaces (NURBS), not for polygons. The "Max Triangles" and "Grading" attributes can be used to fine-tune tessellations using the Delaunay style.

Fine

Subdivides surfaces into a large number of roughly uniformly-sized small triangles in order to guarantee a smooth result. To deal with the large number of triangles resulting from this approximation style, mental ray breaks the surface up into independent sub-objects that are each tessellated and cached separately. This allows the tessellator to generate a large number of triangles without incurring a huge memory cost. This approximation style is similar to the one used by Pixar® Renderman® software, and only supports the "Spatial" approximation method, which specifies the size of triangles to be generated.

Approx Method

Determines the criteria that the tessellator uses for determining when to subdivide a part of the surface. Some approximation methods simply break the surface into a fixed number of triangles, while others use adaptive criteria to iteratively add more and more triangles until some condition is satisfied.

Parametric

This method is driven solely by the "U Subdivisions" and "V Subdivisions" attributes. Each patch is subdivided into N triangles, where

N = (U Subdivisions) * (V Subdivisions) * degree^2 * 2

Thus, with U Subdivisions set to 1.333 and V Subdivisions set to 4 on a degree-3 NURBS surface, each patch will be subdivided into 1.333*4*3*3*2 = 96 triangles.

Regular Parametric

This method is also driven solely by the "U Subdivisions" and "V Subdivisions" attributes. With this method, though, the surface as a whole is subdivided into N triangles, where

N = (U Subdivisions) * (V Subdivisions)

With this method, the density of triangles will be constant over the entire surface, unlike the Parametric method, which tessellates each patch independently.

Length/Distance/Angle

This is an adaptive approximation method, meaning that the tessellator continually subdivides the surface until certain criteria are met. There are 3 criteria:

Length: Subdivide until no triangle has an edge longer than a certain length. The Length attribute is used to specify this desired edge length. 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.

Distance: Subdivide until the resulting triangles are at no point further than a certain distance away from the exact NURBS surface. The Distance attribute is used to specify the desired distance. 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.

Angle: Subdivide until the normals of neighboring triangles form an angle of less than a certain tolerance. The Angle attribute specifies the angular tolerance. The Angle value should be chosen carefully, as small values can cause the number of triangles to increase rapidly. 45 degrees is a good starting point. If this value is set to 0.0, then this criterion is ignored by the tessellator.

There are several other attributes that influence the Length/Distance/Angle approximation method:

View Dependent: When enabled, means that the Length and Distance attribute values are assumed to be expressed in pixels. Otherwise, these values are assumed to be expressed in object-space units. The advantage of using view-dependent values is that objects that are close to the camera will receive many triangles, while objects that are far away (or not visible at all) will be approximated much more coarsely.

Any Satisfied: When more than one of the Length/Distance/Angle criteria are enabled, this flag determines when subdivision will stop. If Any Satisfied is enabled, then subdivision stops when any one of the criteria is satisfied (for example, triangles are smaller than a certain size or distance from the surface is less than a certain amount or angles between triangles are less than a specified amount). If Any Satisfied is disabled, then subdivision continues until all criteria are satisfied (for example, triangles are smaller than a certain size and distance from the surface is less than a certain amount and angles between triangles are less than a specified amount).

Spatial

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.

Curvature

This approximation method is the same as the Distance and Angle criteria from the Length/Distance/Angle method. This method is included for backwards compatibility only.