-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2009 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_GL_VECTOR_H_
#define MSP_GL_VECTOR_H_
namespace Msp {
namespace GL {
+struct Vector4;
+
struct Vector3
{
float x, y, z;
Vector3(): x(0), y(0), z(0) { }
Vector3(float x_, float y_, float z_): x(x_), y(y_), z(z_) { }
+ Vector3(const Vector4 &);
};
struct Vector4
Vector4(const Vector3 &v): x(v.x), y(v.y), z(v.z), w(1) { }
};
+inline Vector3::Vector3(const Vector4 &v):
+ x(v.x/v.w), y(v.y/v.w), z(v.z/v.w)
+{ }
+
} // namespace GL
} // namespace Msp