Surface Approximation Rollout

The controls in the Surface Approximation rollout are the same as the surface approximation controls for NURBS surface objects, with two additional buttons: Set Selected and Reset.

Interface

Iso Parametric Lines group

The controls in this group affect the display of the NURBS surfaces in viewports.

U Lines and V Lines

The number of lines used to approximate the NURBS surfaces in viewports, along the surface's local U and V dimensions, respectively. Reducing these values can speed up the display of the surface, but reduce accuracy of the display. Increasing these values increases accuracy at the expense of time. Setting one of these values to 0 displays only the edge of the object in the corresponding dimension.

  • Iso Only When chosen, all viewports display iso line representations of the surface. Iso (parametric) lines are similar to contour lines. The lines show where the NURBS surface has a constant U value or V value or both. Iso line representations can be less crowded and easier to visualize than wire mesh representations.
  • Iso and Mesh (The default.) When chosen, wireframe viewports display iso line representations of the surface, and shaded viewports display the shaded surface.
  • Mesh Only When chosen, wireframe viewports display the surface as a wire mesh, and shaded viewports display the shaded surface.

    In wireframe viewports, this option lets you see the surface approximation used for viewports.

Iso and mesh displays of a NURBS teapot

  • Viewports When chosen, the utility affects how surfaces in the NURBS objects are displayed interactively in viewports, including shaded viewports, and by the preview renderer.

    The Viewports surface settings are also used when you apply a mesh modifier such as Mesh Select to the NURBS objects. This is important because it can affect the scene's geometry.

  • Renderer When chosen, the utility affects how surfaces in the NURBS objects are displayed by the renderer.
Base Surface

When on, settings affect entire surfaces in the selection set. Default=on.

Surface Edge

When on, settings affect the tessellation of surface edges that are defined by trim curves.

Displaced Surface

Enabled only when Renderer is chosen. Turn on to set a third, independent approximation setting for surfaces that have a Displacement map or Displace modifier applied to them.

Load Tessellation Preset group

Lets you choose a preset low, medium, or high-quality level of surface approximation. While a preset is chosen, the values it uses are displayed in the Tessellation Method group box.

Preset values are saved in the 3dsmax.ini file. You can customize the preset values by using the buttons in the following group box, Save Tessellation Preset.

Low

Selects a (comparatively) low-quality level of surface approximation. These are the default values:

Viewports, Base Surface:

Method=Spatial and Curvature

Edge=50.0

Distance=50.0

Angle=50.0

Merge=0.0

Advanced Parameters Minimum=0, Maximum=3

Renderer, Base Surface:

Method=Spatial and Curvature

Edge=20.0

Distance=20.0

Angle=15.0

Merge=0.01

Advanced Parameters Minimum=0, Maximum=3

Renderer, Displaced Surface:

Method=Spatial and Curvature

Edge=20.0 Distance=20.0

Angle=10.0 Merge=(Unavailable)

Advanced Parameters Minimum=0, Maximum=2

Medium

(The default for both viewports and rendering.) Selects a medium-quality level of surface approximation. These are the default values:

Viewports, Base Surface:

Method=Spatial and Curvature

Edge=20.0

Distance=20.0

Angle=15.0

Merge=0.0

Advanced Parameters Minimum=0, Maximum=3

Renderer, Base Surface:

Method=Spatial and Curvature

Edge=10.0

Distance=15.0

Angle=10.0

Merge=0.01

Advanced Parameters Minimum=0, Maximum=4

Renderer, Displaced Surface:

Method=Spatial and Curvature

Edge=10.0

Distance=10.0

Angle=4.0

Merge=(Unavailable)

Advanced Parameters Minimum=0, Maximum=3

High

Selects a high-quality level of surface approximation. These are the default values:

Viewports, Base Surface:

Method=Spatial and Curvature Edge=5.0 Distance=15.0 Angle=10.0 Merge=0.0 Advanced Parameters Minimum=0, Maximum=3

Renderer, Base Surface:

Method=Spatial and Curvature

Edge=5.0

Distance=5.0

Angle=3.0

Merge=0.01

Advanced Parameters Minimum=0, Maximum=4

Renderer, Displaced Surface:

Method=Spatial and Curvature

Edge=5.0

Distance=5.0

Angle=2.0

Merge=(Unavailable)

Advanced Parameters Minimum=0, Maximum=4

Save Tessellation Preset group

Click a button to save the current Tessellation Method settings as a new Low, Medium, or High preset. These values are saved in the 3dsmax.ini file.

Note: There is a separate Low, Medium, and High preset for Base Surface and Displaced Surface approximation. Check whether Base Surface or Displaced Surface is on before you use the buttons in this group box to save a custom preset.

Customizing preset values overwrites the default presets. To restore the defaults, you can re-enter the default preset values shown above, and then save them with the corresponding button. You can also restore defaults by editing the 3dsmax.ini file to delete the custom preset values.

When you customize the preset values, there is no necessary correlation between the button names and the quality of surface approximation. 3ds Max has no way of knowing how "good" a tessellation is, and you can save a very high-quality surface approximation in the Low preset, for example.

Tessellation Method group

The controls in this group box affect the display of the NURBS surfaces in either viewports, if Viewports is chosen, or by the renderer, if Renderer is chosen. You can choose between five algorithms. Each approximates NURBS surfaces by tessellating them in a different way.

Note: When Viewports is chosen, you must also choose Mesh Only in order to see the effect of the Mesh Parameter settings in wireframe viewports.

Generally speaking, if the preset values you have chosen give good results, you don't need to adjust the controls in this rollout further. Use them if you encounter problems with the preset alternative.

Tips

  • Viewport Tessellation: The tessellation method creates the mesh, so if you modify the NURBS object with Mesh Select, choose the method that gives the result you need. If you use modifiers heavily, Spatial or Parametric might be better than Curvature, because of their regular tessellation. Curvature-dependent tessellation can cause problems with some modifiers.
  • Renderer Tessellation: Spatial and Curvature usually obtains the most accurate rendering. Curvature can be the more efficient choice when you render animated surfaces.
  • Regular Generates a fixed tessellation across the surface based on U Steps by V Steps. Increasing these parameters increases accuracy at a cost of speed, and vice versa, but in general this can be the quickest and least accurate way to approximate a NURBS surface. Very low values for U and V Steps using the Regular method usually doesn't provide good results. Model complexity increases slowly as U and V Steps values increase.
  • Parametric Generates an adaptive tessellation based on U Steps by V Steps. Low values for U and V Steps using the Parametric method often provide good results. Model complexity increases rapidly as U and V Steps values increase, so take care when you switch from Regular, which generally requires higher U and V values, to Parametric, where lower U and V values generally suffice.

    For example, if you convert a teapot to NURBS and set the U and V steps to 15, the Regular method generates 4470 faces but the Parametric method generates 204960 faces.

    Parametric mesh of the NURBS teapot

  • Spatial Generates a uniform tessellation made of triangular faces.

    The Edge parameter specifies the maximum length of a triangular face in the tessellation. The value is a percentage of the object's bounding box. Decreasing this value increases accuracy but increases rendering time.

    Spatial mesh of the NURBS teapot

  • Curvature Generates a variable tessellation based on the curvature of the surface. The tessellation has a finer grain where the surface is more curved. Changing surface curvature dynamically changes the curvature tessellation.

    The Distance parameter specifies how far the approximation can deviate from the actual NURBS surface. Distance is a percentage of the diagonal of each surface's bounding box. Each surface in an object is tessellated based on its size, independently of other surfaces, and scaling a surface doesn't change its tessellation. Decreasing this value increases accuracy but increases rendering time. When you set Distance to 0.0, 3ds Max ignores this parameter and uses the Angle to control accuracy.

    The Angle parameter specifies the maximum angle between faces in the approximation. Decreasing this value increases accuracy but increases rendering time. When you set Angle to 0.0, 3ds Max ignores this parameter and uses the Distance to control accuracy.

    When both Distance and Angle are 0.0, the surfaces degenerate and can become flat surfaces.

    Curvature mesh of the NURBS teapot

  • Spatial and Curvature (The default.) Combines the spatial (edge-length) method and the curvature (distance and angle) methods, using all three values.

    The Edge parameter specifies the maximum length of a triangular face in the tessellation. The value is a percentage of the object's bounding box. Decreasing this value increases accuracy but increases rendering time. When you set Edge to 0.0, the effect is equivalent to the Curvature method.

    The Distance parameter specifies how far the approximation can deviate from the actual NURBS surface. Distance is a percentage of the diagonal of each surface’s bounding box. Each surface in an object is tessellated based on its size, independently of other surfaces, and scaling a surface doesn’t change its tessellation. Decreasing this value increases accuracy but increases rendering time. When you set Distance to 0.0, 3ds Max ignores this parameter and uses the Edge and Angle values to control accuracy.

    The Angle parameter specifies the maximum angle between faces in the approximation. Decreasing this value increases accuracy but increases rendering time. When you set Angle to 0.0, 3ds Max ignores this parameter and uses the Edge and Distance values to control accuracy.

    When Distance, Angle, and Edge are all 0.0, the surfaces degenerate and can become flat surfaces.

View-Dependent

(for the Renderer only): When on, takes the object's distance from the camera into account while calculating its tessellation. This can improve rendering time by not generating fine-grained tessellations for objects that are in the distance of the rendered scene. The view-dependent effect only works when you render camera or perspective views. It doesn't work in orthographic views. This control is disabled while Viewports is active.

For the Spatial, Curvature, and Spatial and Curvature methods, when View-Dependent is on, the Distance and Edge values specify pixels instead of the default 3ds Max units.

Note: When View-Dependent is on, tessellation very quickly reaches the maximum subdivision limit. You might want to increase this value to 7 (the greatest value allowed). See the description of Advanced Parameters, below.
Merge

Controls the tessellation of surface sub-objects whose edges are joined or very nearly joined. When input to a modifier (such as Mesh Select) that requires a mesh, and when NURBS surfaces are tessellated for production rendering, by default 3ds Max adjusts the tessellation of adjoining surfaces to match each other, in terms of the number of faces along the edges. The Merge parameter controls how this is done. If Merge is zero, adjoining faces are unchanged. Increasing the value of Merge increases the distance 3ds Max uses to calculate how edges should match, guaranteeing no gaps between the surfaces when they are rendered. Default=0.01.

In most cases, you don't need to adjust Merge. If rendering shows gaps between nearly adjoining faces, increase Merge to eliminate them.

Technically, the Merge value is one tenth of one percent of the diagonal of the object's bounding box. In other words, a Merge value of 1.0 (higher than necessary for most purposes) is 0.1 percent of the length of the diagonal. Because Merge is based on the object's dimensions, you can scale the NURBS model without affecting the Merge setting.

Advanced Parameters

Click to display the Advanced Surface Approximation dialog. The parameters in this dialog apply to the Spatial, Curvature, and Spatial and Curvature approximation methods.

Clear Surfaces

When on, the settings you choose in this utility override all sub-object specific surface approximation settings in the selected NURBS models. When off, the utility affects top-level NURBS models but settings local to individual surface sub-objects remain unaffected. Default=Off.

Set Selected

Applies the surface approximation values active in the utility to all selected NURBS objects.

Reset

Resets the values in the utility to the default settings for a NURBS surface.