The RenderMan Interface - Paul Bourke
The RenderMan Interface - Paul Bourke
The RenderMan Interface - Paul Bourke
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Section 5<br />
GEOMETRIC PRIMITIVES<br />
<strong>The</strong> <strong>RenderMan</strong> <strong>Interface</strong> supports only surface- and solid-defining geometric primitives.<br />
Solid primitives are created from surfaces and combined using set operations. <strong>The</strong> geometric<br />
primitives include:<br />
• planar convex polygons, as well as general planar concave polygons with holes,<br />
• collections of planar convex or general planar concave polygons with holes which<br />
share vertices (polyhedra),<br />
• bilinear patches and patch meshes,<br />
• bicubic patches and patch meshes with an arbitrary basis,<br />
• non-uniform rational B-spline surfaces of arbitrary degree (NURBS),<br />
• quadric surfaces, tori, and disks,<br />
• subdivion surface meshes,<br />
• implicit surfaces,<br />
• 1D points and 2D curves or ribbons.<br />
Control vertex points are used to construct polygons, patches, NURBS, subdivision meshes,<br />
point clouds, and curves. Point positions can be either an (x,y,z) triplet (”P”) or an (x,y,z,w)<br />
4-vector (”Pw”). If the vertex is part of a patch mesh, the position may be used to define<br />
a height field. In this case the vertex point contains only a (z) coordinate (”Pz”), and the<br />
(x,y)s of points of the height field are set equal to the parametric surface parameters of the<br />
mesh.<br />
All primitives have well-defined geometric surface normals, so normals need not be provided<br />
with any primitive. <strong>The</strong> surface normal for a polygon is the perpendicular to the<br />
plane containing the polygon. <strong>The</strong> surface normal for a parametric curved surface is<br />
computed by taking the cross product of the surface’s parametric derivatives: (∂P/∂u) ×<br />
(∂P/∂v). As mentioned in the Section 4.2.13, Orientation and Sides, if the current orientation<br />
does not match the orientation of the current coordinate system, normals will be flipped. It<br />
is also possible to provide additional shading normals (”N”) at polygon and bilinear patch<br />
vertices to help make the surface appear smooth.<br />
62