-/* $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));
add("attrib4", static_cast<void (Loader::*)(unsigned, float, float, float, float)>(&Loader::attrib));
}
-
-void array_element(int i)
-{
- glArrayElement(i);
-}
-
-void draw_arrays(PrimitiveType mode, int first, unsigned count)
-{
- glDrawArrays(mode, first, count);
-}
-
-void draw_elements(PrimitiveType mode, unsigned count, DataType type, const void *indices)
-{
- glDrawElements(mode, count, type, indices);
-}
-
-void draw_range_elements(PrimitiveType mode, unsigned low, unsigned high, unsigned count, DataType type, const void *indices)
-{
- static RequireVersion _ver(1, 2);
- glDrawRangeElements(mode, low, high, count, type, indices);
-}
-
} // namespace GL
} // namespace Msp