Added GetRotateAxis/Angle from Quat.
Added MakeMatrix functions.
This commit is contained in:
parent
97743adb3f
commit
0ac2a9431a
@ -190,6 +190,16 @@ namespace hgl
|
|||||||
axis=glm::axis(quat);
|
axis=glm::axis(quat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline const Vector3f &GetRotateAxis(const Quatf &quat)
|
||||||
|
{
|
||||||
|
return glm::axis(quat);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline const float GetRotateAngle(const Quatf &quat)
|
||||||
|
{
|
||||||
|
return glm::degrees(glm::angle(quat));
|
||||||
|
}
|
||||||
|
|
||||||
inline Quatf LerpQuat(const Quatf &from,const Quatf &to,const float t)
|
inline Quatf LerpQuat(const Quatf &from,const Quatf &to,const float t)
|
||||||
{
|
{
|
||||||
return glm::lerp(from,to,t);
|
return glm::lerp(from,to,t);
|
||||||
@ -200,6 +210,20 @@ namespace hgl
|
|||||||
return glm::slerp(from,to,t);
|
return glm::slerp(from,to,t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline Matrix4f MakeMatrix(const Vector3f &move,const Quatf &rotate_quat,const Vector3f &scale_xyz)
|
||||||
|
{
|
||||||
|
return glm::translate(Identity4f,move)
|
||||||
|
*glm::toMat4(rotate_quat)
|
||||||
|
*glm::scale(Identity4f,scale_xyz);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline Matrix4f MakeMatrix(const Vector3f &move,const Vector3f &rotate_axis,const float &rotate_angle,const Vector3f &scale_xyz)
|
||||||
|
{
|
||||||
|
return glm::translate(Identity4f,move)
|
||||||
|
*glm::rotate(Identity4f,glm::radians(rotate_angle),rotate_axis)
|
||||||
|
*glm::scale(Identity4f,scale_xyz);
|
||||||
|
}
|
||||||
|
|
||||||
inline Vector3f TransformPosition(const Matrix4f &m,const Vector3f &v)
|
inline Vector3f TransformPosition(const Matrix4f &m,const Vector3f &v)
|
||||||
{
|
{
|
||||||
return Vector3f(m*Vector4f(v,1.0f));
|
return Vector3f(m*Vector4f(v,1.0f));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user