[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3.1 Subdivision Surfaces

Catmull-Clark subdivision surfaces are supported by 3Delight(16). Also, all the standard tags are recognized:

"hole"
A per-face value, tagging faces that are considered as holes. The parameter is an array of integers listing the indices of the hole faces;
"corner"
A per-vertex value, tagging vertices that are considered semi-sharp. The tag should be specified with an array of integers, giving the indices of the vertices as well as an array of floating point values giving their sharpness. A sharpness of 0.0 indicates a smooth corner and a sharpness of 10.0 indicating an infinitely sharp one;
"crease"
A per-edge value, tagging edges that are considered as semi-sharp. This tag is specified with an array of integers, indicating the list of vertices that form an edge chain. An array of floating point values specifies the sharpness value for each edge in the chain;
"interpolateboundary"
A per-surface value, specifying that all boundary edges and vertices are infinitly sharp. There is no parameters to this tag.

Unlike other rendering packages, 3Delight does not attempt to tesselate the entire subdivision surface into many small polygons (thus taking a large amount of memory); instead, a lazy and adaptive process is used to generate only those portions of the surface that are needed for some specific bucket. Also, 3Delight generates smooth b-spline surfaces (instead of polygons) whenever possible.

All standard variable types are supported: constant, uniform, varying, vertex, facevarying and facevertex. facevertex is used exactly as facevarying but interpolates the variables according to surface's subdivision rules. This eliminates many distortion artifacts due to bilinear interpolation in facevaryings.



This document was generated by Aghiles Kheffache on July, 31 2003 using texi2html
3Delight 1.0.0. Copyright 2000-2003 The 3Delight Team. All Rights Reserved.