This commit is contained in:
aozhiwei 2022-12-20 17:32:25 +08:00
parent 6e434cdc4a
commit 1a1293b8b7

View File

@ -14,7 +14,17 @@ const glm::vec3 GlmHelper::DONW = glm::vec3(0.0f, 0.0f, 1.0f);
void GlmHelper::RotateY(glm::vec3& v, float angle) void GlmHelper::RotateY(glm::vec3& v, float angle)
{ {
auto transform =
glm::rotate(
glm::mat4(1.0),
angle,
//glm::radians(angle),
glm::vec3(0.0f, 1.0f, 0.0f)
);
glm::vec4 v1 = transform * glm::vec4(v.x, v.y, v.z, 0.0f);
v.x = v1.x;
v.y = v1.y;
v.z = v1.z;
} }
void GlmHelper::Normalize(glm::vec3& v) void GlmHelper::Normalize(glm::vec3& v)
@ -33,17 +43,16 @@ void GlmHelper::Normalize(glm::vec3& v)
float GlmHelper::Norm(const glm::vec3& v) float GlmHelper::Norm(const glm::vec3& v)
{ {
return glm::length(v);
} }
bool GlmHelper::IsZero(const glm::vec3& v) bool GlmHelper::IsZero(const glm::vec3& v)
{ {
return fabs(v.x) < 0.00001f && fabs(v.y) < 0.00001f && fabs(v.z) < 0.00001f;
} }
float GlmHelper::CalcAngle(const glm::vec3& v1, const glm::vec3& v2) float GlmHelper::CalcAngle(const glm::vec3& v1, const glm::vec3& v2)
{ {
float angle = acos(glm::dot(v1, v2) / Norm(v1) / Norm(v2));
return angle / 3.1415926f;
} }