HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Skinning Implementations
+ Collaboration diagram for Skinning Implementations:

Functions

USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 Skin points using linear blend skinning, with interleaved influences. More...
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4d &geomBindTransform, const VtMatrix4dArray &jointXforms, const VtIntArray &jointIndices, const VtFloatArray &jointWeights, int numInfluencesPerPoint, VtVec3fArray *points)
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4d &geomBindTransform, const GfMatrix4d *jointXforms, size_t numJoints, const int *jointIndices, const float *jointWeights, size_t numInfluences, int numInfluencesPerPoint, GfVec3f *points, size_t numPoints, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinNormalsLBS (const GfMatrix3d &geomBindTransform, TfSpan< const GfMatrix3d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinNormalsLBS (const GfMatrix3f &geomBindTransform, TfSpan< const GfMatrix3f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinNormalsLBS (const GfMatrix3d &geomBindTransform, TfSpan< const GfMatrix3d > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinNormalsLBS (const GfMatrix3f &geomBindTransform, TfSpan< const GfMatrix3f > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, GfMatrix4d *xform)
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, GfMatrix4f *xform)
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const GfVec2f > influences, GfMatrix4d *xform)
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const GfVec2f > influences, GfMatrix4f *xform)
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4d &geomBindTransform, const GfMatrix4d *jointXforms, size_t numJoints, const int *jointIndices, const float *jointWeights, size_t numInfluences, GfMatrix4d *xform)
 
USDSKEL_API bool UsdSkelApplyBlendShape (const float weight, const TfSpan< const GfVec3f > offsets, const TfSpan< const int > indices, TfSpan< GfVec3f > points)
 

Detailed Description

Reference skinning implementations for skinning points and transforms.

Function Documentation

USDSKEL_API bool UsdSkelApplyBlendShape ( const float  weight,
const TfSpan< const GfVec3f offsets,
const TfSpan< const int indices,
TfSpan< GfVec3f points 
)

Apply a single blend shape to points. The shape is given as a span of offsets. If the indices span is not empty, it provides the index into the points span at which each offset should be mapped. Otherwise, the offsets span must be the same size as the points span.

USDSKEL_API bool UsdSkelSkinNormalsLBS ( const GfMatrix3d geomBindTransform,
TfSpan< const GfMatrix3d jointXforms,
TfSpan< const int jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

Skin normals using linear blend skinning (LBS). Currently, this is restricted to skinning of normals stored using vertex primvar interpolation. The jointXforms are the inverse transposes of the 3x3 component of the UsdSkel_Term_SkinningTransforms" "skinning transforms", given in skeleton space. The geomBindTransform is the inverse transpose of the matrix that transforms points from a bind pose ino the same skeleton space that the skinning tranforms were computed in.

USDSKEL_API bool UsdSkelSkinNormalsLBS ( const GfMatrix3f geomBindTransform,
TfSpan< const GfMatrix3f jointXforms,
TfSpan< const int jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

USDSKEL_API bool UsdSkelSkinNormalsLBS ( const GfMatrix3d geomBindTransform,
TfSpan< const GfMatrix3d jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

USDSKEL_API bool UsdSkelSkinNormalsLBS ( const GfMatrix3f geomBindTransform,
TfSpan< const GfMatrix3f jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const int jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

Skin points using linear blend skinning (LBS). The jointXforms are skinning transforms, given in skeleton space, while the geomBindTransform provides the transform that transforms the initial points into the same skeleton space that the skinning transforms were computed in.

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const int jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

Skin points using linear blend skinning, with interleaved influences.

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4d geomBindTransform,
const VtMatrix4dArray &  jointXforms,
const VtIntArray &  jointIndices,
const VtFloatArray &  jointWeights,
int  numInfluencesPerPoint,
VtVec3fArray *  points 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
Use form that takes TfSpan arguments.
USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4d geomBindTransform,
const GfMatrix4d jointXforms,
size_t  numJoints,
const int jointIndices,
const float *  jointWeights,
size_t  numInfluences,
int  numInfluencesPerPoint,
GfVec3f points,
size_t  numPoints,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
Use form that takes TfSpan arguments.
USDSKEL_API bool UsdSkelSkinTransformLBS ( const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const int jointIndices,
TfSpan< const float >  jointWeights,
GfMatrix4d xform 
)

Skin a transform using linear blend skinning (LBS). The jointXforms are skinning transforms, given in skeleton space, while the geomBindTransform provides the transform that initially places a primitive in that same skeleton space.

USDSKEL_API bool UsdSkelSkinTransformLBS ( const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const int jointIndices,
TfSpan< const float >  jointWeights,
GfMatrix4f xform 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

USDSKEL_API bool UsdSkelSkinTransformLBS ( const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const GfVec2f influences,
GfMatrix4d xform 
)

Overload taking interleaved joint influences. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

USDSKEL_API bool UsdSkelSkinTransformLBS ( const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const GfVec2f influences,
GfMatrix4f xform 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

USDSKEL_API bool UsdSkelSkinTransformLBS ( const GfMatrix4d geomBindTransform,
const GfMatrix4d jointXforms,
size_t  numJoints,
const int jointIndices,
const float *  jointWeights,
size_t  numInfluences,
GfMatrix4d xform 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
Use form that takes TfSpan arguments.