OpenSubdiv
|
All supported options applying to subdivision scheme. More...
#include <options.h>
Public Types | |
enum | VtxBoundaryInterpolation { VTX_BOUNDARY_NONE = 0 , VTX_BOUNDARY_EDGE_ONLY , VTX_BOUNDARY_EDGE_AND_CORNER } |
enum | FVarLinearInterpolation { FVAR_LINEAR_NONE = 0 , FVAR_LINEAR_CORNERS_ONLY , FVAR_LINEAR_CORNERS_PLUS1 , FVAR_LINEAR_CORNERS_PLUS2 , FVAR_LINEAR_BOUNDARIES , FVAR_LINEAR_ALL } |
enum | CreasingMethod { CREASE_UNIFORM = 0 , CREASE_CHAIKIN } |
enum | TriangleSubdivision { TRI_SUB_CATMARK = 0 , TRI_SUB_SMOOTH } |
Public Member Functions | |
Options () | |
VtxBoundaryInterpolation | GetVtxBoundaryInterpolation () const |
Get vertex boundary interpolation rule. | |
void | SetVtxBoundaryInterpolation (VtxBoundaryInterpolation b) |
Set vertex boundary interpolation rule. | |
FVarLinearInterpolation | GetFVarLinearInterpolation () const |
Get face-varying interpolation rule. | |
void | SetFVarLinearInterpolation (FVarLinearInterpolation b) |
Set face-varying interpolation rule. | |
CreasingMethod | GetCreasingMethod () const |
Get edge crease rule. | |
void | SetCreasingMethod (CreasingMethod c) |
Set edge crease rule. | |
TriangleSubdivision | GetTriangleSubdivision () const |
Get triangle subdivision weights rule (Catmark scheme only !) | |
void | SetTriangleSubdivision (TriangleSubdivision t) |
Set triangle subdivision weights rule (Catmark scheme only !) | |
All supported options applying to subdivision scheme.
The Options class contains all supported options that can be applied to a subdivision scheme to affect the shape of the limit surface. These differ from approximations that may be applied at a higher level, i.e. options to limit the level of feature adaptive subdivision, options to ignore fractional creasing, or creasing entirely, etc. These options define the shape of a particular limit surface, including the "shape" of primitive variable data associated with it.
The intent is that these sets of options be defined at a high level and propagated into the lowest-level computation in support of each subdivision scheme. Ideally it remains a set of bit-fields (essentially an int) and so remains light weight and easily passed around by value.
enum CreasingMethod |
enum TriangleSubdivision |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |