26.01.2015 Views

The RenderMan Interface - Paul Bourke

The RenderMan Interface - Paul Bourke

The RenderMan Interface - Paul Bourke

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!