#ifndef MSP_GL_VECTOR_H_
#define MSP_GL_VECTOR_H_
+#include <msp/linal/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
-{
- float x, y, z, w;
-
- Vector4(): x(0), y(0), z(0), w(1) { }
- Vector4(float x_, float y_, float z_): x(x_), y(y_), z(z_), w(1) { }
- Vector4(float x_, float y_, float z_, float w_): x(x_), y(y_), z(z_), w(w_) { }
- 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)
-{ }
+typedef LinAl::Vector<float, 3> Vector3;
+typedef LinAl::Vector<float, 4> Vector4;
} // namespace GL
} // namespace Msp