clray
diff src/vector.inl @ 54:6a30f27fa1e6
separated the OpenGL visualization and added a CPU raytracing mode
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 10 Sep 2010 16:47:00 +0100 |
parents | 51f115e337c2 |
children |
line diff
1.1 --- a/src/vector.inl Sun Sep 05 16:43:55 2010 +0100 1.2 +++ b/src/vector.inl Fri Sep 10 16:47:00 2010 +0100 1.3 @@ -41,6 +41,10 @@ 1.4 return Vector3(vec.x * s, vec.y * s, vec.z * s); 1.5 } 1.6 1.7 +inline Vector3 operator /(const Vector3 &vec, float s) 1.8 +{ 1.9 + return Vector3(vec.x / s, vec.y / s, vec.z / s); 1.10 +} 1.11 1.12 inline float dot(const Vector3 &a, const Vector3 &b) 1.13 { 1.14 @@ -51,3 +55,8 @@ 1.15 { 1.16 return Vector3(a.y * b.z - a.z * b.y, a.z * b.x - a.x * b.z, a.x * b.y - a.y * b.x); 1.17 } 1.18 + 1.19 +inline Vector3 reflect(const Vector3 &v, const Vector3 &n) 1.20 +{ 1.21 + return n * (2.0 * dot(v, n)) - v; 1.22 +}