-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007-2010 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#include "arb_vertex_program.h"
#include "buffer.h"
+#include "error.h"
#include "extension.h"
#include "gl.h"
#include "version_1_2.h"
void VertexArray::apply() const
{
if(format.empty())
- throw InvalidState("Trying to apply a vertex array with no data");
+ throw invalid_operation("VertexArray::apply");
if(vbuf)
{
if(i>3 || active_tex)
glClientActiveTexture(GL_TEXTURE0+(i-3));
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+ active_tex = i-3;
}
else
glDisableVertexAttribArrayARB(i-11);
add("texcoord2", static_cast<void (Loader::*)(float, float)>(&Loader::texcoord));
add("texcoord3", static_cast<void (Loader::*)(float, float, float)>(&Loader::texcoord));
add("texcoord4", static_cast<void (Loader::*)(float, float, float, float)>(&Loader::texcoord));
+ add("multitexcoord1", static_cast<void (Loader::*)(unsigned, float)>(&Loader::multitexcoord));
+ add("multitexcoord2", static_cast<void (Loader::*)(unsigned, float, float)>(&Loader::multitexcoord));
+ add("multitexcoord3", static_cast<void (Loader::*)(unsigned, float, float, float)>(&Loader::multitexcoord));
+ add("multitexcoord4", static_cast<void (Loader::*)(unsigned, float, float, float, float)>(&Loader::multitexcoord));
add("color3", static_cast<void (Loader::*)(float, float, float)>(&Loader::color));
add("color4", static_cast<void (Loader::*)(float, float, float, float)>(&Loader::color));
add("attrib1", static_cast<void (Loader::*)(unsigned, float)>(&Loader::attrib));