|
@@ -1,6 +1,6 @@
|
|
|
/**********************************************************************************************
|
|
|
*
|
|
|
-* raymath v1.2 - Math functions to work with Vector3, Matrix and Quaternions
|
|
|
+* raymath v1.3 - Math functions to work with Vector3, Matrix and Quaternions
|
|
|
*
|
|
|
* CONFIGURATION:
|
|
|
*
|
|
@@ -488,14 +488,14 @@ RMDEF Vector3 Vector3Normalize(Vector3 v)
|
|
|
{
|
|
|
Vector3 result = v;
|
|
|
|
|
|
- float length, ilength;
|
|
|
- length = Vector3Length(v);
|
|
|
+ float length, inverseLength;
|
|
|
+ length = sqrtf(v.x*v.x + v.y*v.y + v.z*v.z);
|
|
|
if (length == 0.0f) length = 1.0f;
|
|
|
- ilength = 1.0f/length;
|
|
|
+ inverseLength = 1.0f/length;
|
|
|
|
|
|
- result.x *= ilength;
|
|
|
- result.y *= ilength;
|
|
|
- result.z *= ilength;
|
|
|
+ result.x *= inverseLength;
|
|
|
+ result.y *= inverseLength;
|
|
|
+ result.z *= inverseLength;
|
|
|
|
|
|
return result;
|
|
|
}
|
|
@@ -1429,8 +1429,9 @@ RMDEF Matrix QuaternionToMatrix(Quaternion q)
|
|
|
RMDEF Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle)
|
|
|
{
|
|
|
Quaternion result = { 0.0f, 0.0f, 0.0f, 1.0f };
|
|
|
-
|
|
|
- if (Vector3Length(axis) != 0.0f)
|
|
|
+ float axisLength = sqrtf(axis.x*axis.x + axis.y*axis.y + axis.z*axis.z);
|
|
|
+
|
|
|
+ if (axisLength != 0.0f)
|
|
|
{
|
|
|
angle *= 0.5f;
|
|
|
|