+ void multitexcoord(unsigned i, float s, float t, float r)
+ { multitexcoord(i, s, t, r, 1); }
+
+ void multitexcoord(unsigned i, float s, float t, float r, float q)
+ { multitexcoord(i, Vector4(s, t, r, q)); }
+
+ void multitexcoord(unsigned i, const Vector4 &t)
+ { texc[i] = t; }
+
+ void color(unsigned char r, unsigned char g, unsigned char b)
+ { color(r, g, b, 255); }
+
+ void color(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
+ { color(r/255.f, g/255.f, b/255.f, a/255.f); }
+
+ void color(float r, float g, float b)
+ { color(r, g, b, 1); }
+
+ void color(float r, float g, float b, float a)
+ { color(Color(r, g, b, a)); }
+
+ void color(const Color &c)
+ { col = c; }
+
+ void attrib(unsigned i, float x)
+ { attrib(i, x, 0, 0, 1); }
+
+ void attrib(unsigned i, float x, float y)
+ { attrib(i, x, y, 0, 1); }
+
+ void attrib(unsigned i, float x, float y, float z)
+ { attrib(i, x, y, z, 1); }
+
+ void attrib(unsigned i, float x, float y, float z, float w)
+ { attrib(i, Vector4(x, y, z, w)); }
+
+ void attrib(unsigned i, const Vector4 &a)
+ { attr[i] = a; }
+
+protected:
+ Vector3 nor;
+ Color col;
+ std::map<unsigned, Vector4> texc;
+ std::map<unsigned, Vector4> attr;