rayzor
diff src/vmath.h @ 17:79609d482762
the renderer renders, also fixed an unnoticed matrix conversion problem between scenegraph and min3d
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 14 Apr 2014 07:34:45 +0300 |
parents | be616b58df99 |
children | 252999cd1a3f |
line diff
1.1 --- a/src/vmath.h Sun Apr 13 09:54:51 2014 +0300 1.2 +++ b/src/vmath.h Mon Apr 14 07:34:45 2014 +0300 1.3 @@ -50,6 +50,11 @@ 1.4 return Vector3(a.x - b.x, a.y - b.y, a.z - b.z); 1.5 } 1.6 1.7 +inline Vector3 operator -(const Vector3 &v) 1.8 +{ 1.9 + return Vector3(-v.x, -v.y, -v.z); 1.10 +} 1.11 + 1.12 inline Vector3 operator *(const Vector3 &a, const Vector3 &b) 1.13 { 1.14 return Vector3(a.x * b.x, a.y * b.y, a.z * b.z); 1.15 @@ -85,6 +90,13 @@ 1.16 return Vector3(x, y, z); 1.17 } 1.18 1.19 +inline Vector3 lerp(const Vector3 &a, const Vector3 &b, float t) 1.20 +{ 1.21 + return Vector3(a.x + (b.x - a.x) * t, 1.22 + a.y + (b.y - a.y) * t, 1.23 + a.z + (b.z - a.z) * t); 1.24 +} 1.25 + 1.26 // ---- Vector4 ---- 1.27 1.28 class Vector4 { 1.29 @@ -129,6 +141,11 @@ 1.30 return Vector4(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w); 1.31 } 1.32 1.33 +inline Vector4 operator -(const Vector4 &v) 1.34 +{ 1.35 + return Vector4(-v.x, -v.y, -v.z, -v.w); 1.36 +} 1.37 + 1.38 inline Vector4 operator *(const Vector4 &v, float s) 1.39 { 1.40 return Vector4(v.x * s, v.y * s, v.z * s, v.w * s); 1.41 @@ -153,4 +170,13 @@ 1.42 return Vector4(x, y, z, w); 1.43 } 1.44 1.45 +inline Vector4 lerp(const Vector4 &a, const Vector4 &b, float t) 1.46 +{ 1.47 + return Vector4(a.x + (b.x - a.x) * t, 1.48 + a.y + (b.y - a.y) * t, 1.49 + a.z + (b.z - a.z) * t, 1.50 + a.w + (b.w - a.w) * t); 1.51 +} 1.52 + 1.53 + 1.54 #endif // VMATH_H_