OpenSubdiv Modifier

The OpenSubdiv modifier performs subdivision and smoothing of mesh objects. It also reads Crease values from underlying stack entries and applies them to the modified object.

General Controls rollout

Iterations
The number of times the mesh is subdivided. Range = 0 to 6.
Render Iterations
The number of times the mesh is subdivided at render time. The checkbox must be on for this setting to take effect. Range = 0 to 10.
Isoline Display
When on, and edges are visible (for example, with Edged Faces display active), displays only edges of the original object. When off, displays all edges, including those resulting from subdivision.
Operating Mode
Determines how the modified object displays in shaded viewports. Has no effect on rendered output.
  • Mesh Output Displays the subdivided object in the viewports as a standard mesh, using only the CPU for processing the subdivision.
  • GPU Display Displays the subdivided object in the viewports using the graphics processing unit on the display card, if compatible. Use GPU Display if the subdivided model is of very high resolution and is slowing down viewport feedback.

    This GPU Display option is usually considerably faster than Mesh Output mode. In particular, using this mode enables the Adaptive Subdivision option for interactive modeling with highly subdivided meshes (see following). A few potential limitations are listed following:

    Limitations of using GPU Display mode:

    • Display of shadows and texture maps on the modified object is unsupported.
    • The modified object is displayed using the mesh at the stack level of the OpenSubdiv modifier. The output of any modifiers that change the object's geometry, such as Bend or Twist, above the OpenSubdiv modifier in the stack is not apparent in the viewports.
    • The display card must support DirectX 11, and should be reasonably powerful. If the GPU is slow, using GPU Display mode may not provide the expected speedup. Also, if your scene is sharing GPU resources for, for example, displaying bitmaps, performance can suffer.

OpenSubdiv Controls rollout

Vertex
Controls how boundary edges and corner vertices are interpolated.
  • Interpolated Edges Edges remain sharp after smoothing. All corners are smoothed.
  • Interpolated Edges and Corners Edges and two-edge corners remain sharp after smoothing.

Left: Interpolated Edges; Right: Interpolated Edges and Corners

UV Boundary
Controls how smoothing is applied to boundary UVs. The following illustrations show the preceding mesh as smoothed in the Unwrap UVW modifier editor.
  • Bilinear (None) UVs are not smoothed.
  • Smooth (Edge Only) UVs and corners are smoothed. Edges remain sharp after smoothing.
  • Smooth (Edge & Corner) UVs are smoothed. Edges and two-edge corners remain sharp after smoothing.
  • Smooth (Always Sharp) When on, smooths face-varying data (UVs and colors sets) near vertices that are not on a discontinuous boundary. Vertices on a discontinuous boundary are subdivided with a sharp rule (interpolated through).
Propagate Corners
When on, face-varying data (UVs and color sets) from the original mesh is applied to the corners of the Smooth Mesh preview.
Smooth Triangles
When on (default), applies a subdivision rule to your mesh that makes triangles subdivide more smoothly.
Crease
Controls how creases are smoothed during subdivision.
  • Normal No smoothing is applied to creases.
  • Chaikin Interpolates the sharpness of incident edges, producing semi-sharp creases. After subdividing a crease edge, the sharpness of the resulting edges is determined using Chaikin's algorithm.

    This method improves the appearance of multi-edge creases with different edge weights.

In the following illustration, the six edges' Crease values increase from 0.1 on the left side to 1.0 on the right. The upper image was rendered with Crease set to Normal, and the lower with Crease set to Chaikin. The latter option smoothes the stairstep effect considerably.

Adaptive Subdivision group

Adaptive subdivision is a modeling tool that subdivides the mesh interactively in the viewport based on the viewing distance or zoom level. It works only with the GPU Display operating mode, and basically provides greater subdivision when viewing the mesh close up, with less subdivision at greater distances. So if you're modeling a large, complex mesh, you get greater definition for the part you're working on at the moment, and other parts don't slow down the computer as much as they would otherwise.

Because adaptive subdivision uses the GPU, it's much faster than using regular subdivision. Thus you can use adaptive subdivision mode to do close-up modeling for real-time feedback, with the main Iterations value set to 1. Then, when it comes time to render, you can increase the main Iterations settings to match the results obtained in the viewport with adaptive subdivision.

The following video shows an example of using adaptive subdivision. In the first part, the viewport is zoomed in and out with Adaptive Subdivision off, so that the subdivision applied by the OpenSubDiv modifier is constant. In the latter part, Adaptive Subdivision is turned on, and you can see how the subdivision level changes interactively as the zoom level changes. The same applies to changing the viewing distance.

Adaptive
When on, the mesh subdivides in the active viewport to an extent based on the viewing distance and the Max. Iterations value. Available only when GPU Display is active on the General Controls rollout.
Max. Iterations
The greatest subdivision level obtainable with adaptive subdivision. The actual level of subdivision depends on several additional factors, including the original mesh subdivision, the Iterations value on the General Controls rollout, and the viewing distance or zoom level.

Mesh Controls rollout

Update Options
Specify when to update the subdivided mesh after changing a setting, such as Iterations:
  • Always The mesh updates immediately after changing any setting.
  • When Rendering Updates the mesh when you render the scene.
  • Manually Updates the mesh only when you click the Update button.
Update
Updates the mesh to reflect changes since the previous update. Applies to the When Rendering and Manually settings (see preceding).