mirror of https://github.com/axmolengine/axmol.git
blendstate
This commit is contained in:
parent
ae0b850d89
commit
09fe7e13b7
|
@ -87,7 +87,7 @@ const Mat4& Bone::getWorldMat()
|
||||||
/**
|
/**
|
||||||
* Set AnimationValue. set to its transform
|
* Set AnimationValue. set to its transform
|
||||||
*/
|
*/
|
||||||
void Bone::setAnimationValueTranslation(float* value)
|
void Bone::setAnimationValueTranslation(float* value, float weight)
|
||||||
{
|
{
|
||||||
static const int bytes = 3 * sizeof(float);
|
static const int bytes = 3 * sizeof(float);
|
||||||
if (memcmp(&_localTranslate.x, value, bytes) != 0)
|
if (memcmp(&_localTranslate.x, value, bytes) != 0)
|
||||||
|
@ -96,7 +96,7 @@ void Bone::setAnimationValueTranslation(float* value)
|
||||||
_localTranslate.set(value);
|
_localTranslate.set(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void Bone::setAnimationValueRotation(float* value)
|
void Bone::setAnimationValueRotation(float* value, float weight)
|
||||||
{
|
{
|
||||||
static const int bytes = 4 * sizeof(float);
|
static const int bytes = 4 * sizeof(float);
|
||||||
if (memcmp(&_localRot.x, value, bytes) != 0)
|
if (memcmp(&_localRot.x, value, bytes) != 0)
|
||||||
|
@ -105,7 +105,7 @@ void Bone::setAnimationValueRotation(float* value)
|
||||||
_localRot.set(value);
|
_localRot.set(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void Bone::setAnimationValueScale(float* value)
|
void Bone::setAnimationValueScale(float* value, float weight)
|
||||||
{
|
{
|
||||||
static const int bytes = 3 * sizeof(float);
|
static const int bytes = 3 * sizeof(float);
|
||||||
if (memcmp(&_localScale.x, value, bytes) != 0)
|
if (memcmp(&_localScale.x, value, bytes) != 0)
|
||||||
|
@ -220,6 +220,11 @@ void Bone::updateLocalMat()
|
||||||
_dirtyFlag = 0;
|
_dirtyFlag = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Bone::clearBlendState()
|
||||||
|
{
|
||||||
|
_blendStates.clear();
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
static int PALETTE_ROWS = 3;
|
static int PALETTE_ROWS = 3;
|
||||||
|
|
||||||
|
|
|
@ -62,9 +62,9 @@ public:
|
||||||
/**
|
/**
|
||||||
* Set AnimationValue. set to its transform
|
* Set AnimationValue. set to its transform
|
||||||
*/
|
*/
|
||||||
void setAnimationValueTranslation(float* value);
|
void setAnimationValueTranslation(float* value, float weight = 1.0f);
|
||||||
void setAnimationValueRotation(float* value);
|
void setAnimationValueRotation(float* value, float weight = 1.0f);
|
||||||
void setAnimationValueScale(float* value);
|
void setAnimationValueScale(float* value, float weight = 1.0f);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates C3DBone.
|
* Creates C3DBone.
|
||||||
|
@ -98,6 +98,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
enum DirtyFlag
|
enum DirtyFlag
|
||||||
{
|
{
|
||||||
Dirty_Translate = 1,
|
Dirty_Translate = 1,
|
||||||
|
@ -126,6 +127,8 @@ protected:
|
||||||
*/
|
*/
|
||||||
void updateLocalMat();
|
void updateLocalMat();
|
||||||
|
|
||||||
|
void clearBlendState();
|
||||||
|
|
||||||
std::string _name;
|
std::string _name;
|
||||||
/**
|
/**
|
||||||
* The Mat4 representation of the Joint's bind pose.
|
* The Mat4 representation of the Joint's bind pose.
|
||||||
|
@ -151,7 +154,7 @@ protected:
|
||||||
Mat4 _world;
|
Mat4 _world;
|
||||||
Mat4 _local;
|
Mat4 _local;
|
||||||
|
|
||||||
BoneBlendState _blendState;
|
std::vector<BoneBlendState> _blendStates;
|
||||||
Vec3 _localTranslate;
|
Vec3 _localTranslate;
|
||||||
Quaternion _localRot;
|
Quaternion _localRot;
|
||||||
Vec3 _localScale;
|
Vec3 _localScale;
|
||||||
|
|
Loading…
Reference in New Issue