You are viewing RenderMan 22 documentation which is not the current release. You may view the current documentation by visiting the home page.

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Polygons are very efficient in RenderMan, particularly when using polyhedron representations where vertices are shared by multiple polygons. By the use of compression techniques, the renderer can render billions upon billions of polygons in a reasonable amount of memory. Because of this efficiency, polygons are an excellent choice for very detailed surfaces, particularly hard geometry with sharp angles such as buildings.

Smooth Surfaces

However, when rendering smooth, organic surfaces such as human characters, one may require a large number of polygons in order to create a smooth surface; otherwise, undesirable artifacts such as faceting may be visible. This problem may be improved by using smoothed normals, which reduce the appearance of facets. Unfortunately, smoothed normals will not help silhouette edges; if the profile of the geometry has an angular appearance, only the addition of more polygons will smooth out the edge. In such cases, the use of subdivision surfaces may be preferable because they always have a smooth appearance; however, subdivision surfaces come at an additional cost in memory and time. Polygonal meshes that obey a few constraints can be easily converted into subdivision surfaces.

Texturing

Polygonal meshes, by their nature, do not have a well defined default parameterization; without additional UV or texture coordinates, texturing a raw polygon mesh can be difficult. Workflows to create UV coordinates for polygonal meshes using UV editors are well established; other workflows for texturing polygons that do not require UV coordinates, including 3D projections, or the use of PTex or UDIM textures, also exist.

Interpolation of variables

The interpolation of variables attached to polygonal geometry is inherently ill-defined when dealing with polygons that have more than four sides. RenderMan tries to use interpolation schemes that are "least surprising", but these schemes are still arbitrary and may also vary depending on whether the polygons are non-planar, concave, or have holes. These schemes may not be the same as those used by modeling or texture paint programs, so disagreements between the rendered result and texture preview may result. Generally, if these problematic polygons are large enough that the choice of interpolation leads to visual artifacts, it may be advisable to avoid them and ensure that the polygons sent to RenderMan have no more than four sides. Even on three or four sided surfaces, the interpolation of smoothed normals on a large polygon face is a poor approximation of the actual behavior of normals on a smooth surface. For small polygon faces (coming from very detailed geometry), this problem is usually negligible.

Displacement

Special care must be taken when applying displacement to polygonal geometry. Without the use of smoothed normals, displacement in the direction of the surface normal will unavoidably tear the geometry at the faces leading to visible holes and cracks. Even with smoothed normals, care must be taken to ensure that the displacement function is consistent at face boundaries, specially when using large texture filter sizes. Specialized programs like ZBrush or Mudbox that generate texture maps for displacement on polygons take this into account.