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 +}