X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbuilders%2Fvertexbuilder.h;h=5c29734607a9775e123ebef26446293cac6f01e3;hp=6c36057239f0a7f9d402d1bdf3fa48a7e5aa1e41;hb=da85eb77172dbd62f764a63b45c79fc059af563b;hpb=ea7832c7c1ffab00cc1168bc8c41375fdd0eae86 diff --git a/source/builders/vertexbuilder.h b/source/builders/vertexbuilder.h index 6c360572..5c297346 100644 --- a/source/builders/vertexbuilder.h +++ b/source/builders/vertexbuilder.h @@ -140,17 +140,44 @@ public: void color(const Color &c) { attrib(get_attribute_semantic(COLOR4_FLOAT), Vector4(c.r, c.g, c.b, c.a)); } - void attrib(unsigned i, float x) - { attrib(i, x, 0, 0, 1); } + void group(int g0) + { group(g0, 0, 0, 0); } - void attrib(unsigned i, float x, float y) - { attrib(i, x, y, 0, 1); } + void group(int g0, int g1) + { group(g0, g1, 0, 0); } - void attrib(unsigned i, float x, float y, float z) - { attrib(i, x, y, z, 1); } + void group(int g0, int g1, int g2) + { group(g0, g1, g2, 0); } - void attrib(unsigned i, float x, float y, float z, float w) - { attrib(i, Vector4(x, y, z, w)); } + void group(int g0, int g1, int g2, int g3) + { attrib(get_attribute_semantic(GROUP4), Vector4(g0, g1, g2, g3)); } + + void weight(float w0) + { weight(w0, 0, 0, 0); } + + void weight(float w0, float w1) + { weight(w0, w1, 0, 0); } + + void weight(float w0, float w1, float w2) + { weight(w0, w1, w2, 0); } + + void weight(float w0, float w1, float w2, float w3) + { attrib(get_attribute_semantic(WEIGHT4), Vector4(w0, w1, w2, w3)); } + + void generic(unsigned i, float x) + { generic(i, x, 0, 0, 1); } + + void generic(unsigned i, float x, float y) + { generic(i, x, y, 0, 1); } + + void generic(unsigned i, float x, float y, float z) + { generic(i, x, y, z, 1); } + + void generic(unsigned i, float x, float y, float z, float w) + { generic(i, Vector4(x, y, z, w)); } + + void generic(unsigned i, const Vector4 &a) + { attrib(get_attribute_semantic(GENERIC4)+i, a); } }; } // namespace GL