]> git.tdb.fi Git - libs/gl.git/blobdiff - source/vertexbuilder.h
Standard vertex components for tangent and binormal vectors
[libs/gl.git] / source / vertexbuilder.h
index 25eb0e76e57170151c0fdffcb43c4468a085ab0b..7a1c943c9ed18b7f6f2330cdc67b0ebb76bc4197 100644 (file)
@@ -5,6 +5,7 @@
 #include "color.h"
 #include "matrix.h"
 #include "vector.h"
+#include "vertexformat.h"
 
 namespace Msp {
 namespace GL {
@@ -60,6 +61,24 @@ public:
                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); }