![]() |
Reference skinning implementations for skinning points and transforms. More...
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) |
| Skin points using linear blend skinning (LBS). More... | |
| 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) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| 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. More... | |
| 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). More... | |
| 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) |
| Skin a transform using linear blend skinning (LBS). More... | |
| 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) |
| Overload taking interleaved joint influences. More... | |
| 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) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| 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. More... | |
Reference skinning implementations for skinning points and transforms.
| 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.
| 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.
| 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.