MeshTessellate

Tessellates meshes according to their subdivision scheme, converting them into higher polygon meshes which follow the limit surface - usually the smooth regular quads of a Catmull-Clark scheme.

Can be used similiarly to “subdivide” or “smooth” features in other packages, with one distinction: because it puts output points directly on the limit surface, using the tessellated result as a subdiv surface again will result in the surface shrinking. Tessellation gives the most accurate possible result for a given number of divisions in one step, but is not appropriate for doing repeated operations on the same mesh.

This node implements the tessellation schemes described by OpenSubdiv, as described here: https://graphics.pixar.com/opensubdiv/docs/bfr_overview.html#bfr-navlink-tessellation ( Note that OpenSubdiv’s “tessellation rate” parameter is the same as our “divisions” parameter, except “tessellation rate” is one higher than “divisions. )

user

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

out

The processed output scene.

enabled

The on/off state of the node. When it is off, the node outputs the input scene unchanged.

in

The input scene

filter

The filter used to control which parts of the scene are processed. A Filter node should be connected here.

divisions

The number of vertices to insert in each edge during tessellation.

calculateNormals

Calculate normals based on the limit surface. If there are existing normals, they will be overwritten. If this is not set, existing normals will be interpolated like any other primvar.

Note that we currently output Vertex normals, which makes sense for most subdivs, but does not accurately capture infinitely sharp creases.

scheme

Overrides the subdivision scheme that determines the shape of the surface. By default, the subdivision scheme used comes from the mesh’s interpolation property, which should be set with a MeshType node, so it will apply to rendering the surface, and also this node. Overriding is useful if a mesh has not been tagged correctly ( for example, if you want to force a mesh to be smooth, you can set scheme to CatmullClark ).

tessellatePolygons

Force bilinear tessellation of meshes without subdivision schemes.

If there is no subdivision scheme stored on the mesh ( interpolation = "linear" ), and you haven’t overridden the scheme, we interpret that to mean no tessellation is required. Bilinear tessellation won’t change the shape of the surface, but sometimes forcing tessellation is useful anyways ( for example, to apply deformation on a denser mesh ).