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.
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.
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.
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.
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.
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.
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.
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.
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).
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.