#include "color.h"
#include "matrix.h"
#include "vector.h"
+#include "vertexformat.h"
namespace Msp {
namespace GL {
virtual ~VertexBuilder() { }
+ void set_matrix(const Matrix &m)
+ { mtx = m; }
+
+ void transform(const Matrix &m)
+ { mtx *= m; }
+
+ const Matrix &get_matrix() const
+ { return mtx.top(); }
+
+ // Deprecated
MatrixStack &matrix()
{ return mtx; }
void vertex(float x, float y, float z, float w)
{ vertex(Vector4(x, y, z, w)); }
+ void vertex(const Vector3 &v)
+ { vertex(Vector4(v.x, v.y, v.z, 1)); }
+
void vertex(const Vector4 &v)
{ vertex_(mtx.top()*v); }
nor = Vector3(tn.x, tn.y, tn.z);
}
+ void tangent(float x, float y, float z)
+ { tangent(Vector3(x, y, z)); }
+
+ void tangent(const Vector3 &t)
+ {
+ Vector4 tt = mtx.top()*Vector4(t.x, t.y, t.z, 0);
+ attrib(get_component_type(TANGENT3), tt);
+ }
+
+ void binormal(float x, float y, float z)
+ { binormal(Vector3(x, y, z)); }
+
+ void binormal(const Vector3 &b)
+ {
+ Vector4 tb = mtx.top()*Vector4(b.x, b.y, b.z, 0);
+ attrib(get_component_type(BINORMAL3), tb);
+ }
+
void texcoord(float s)
{ texcoord(s, 0, 0, 1); }