-#define GL_GLEXT_PROTOTYPES
-#include <GL/gl.h>
-#include <GL/glext.h>
+/* $Id$
+
+This file is part of libmspgl
+Copyright © 2007-2008 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
+#include "extension.h"
+#include "gl.h"
#include "texunit.h"
+#include "version_1_3.h"
using namespace std;
TexUnit::TexUnit():
texture(0)
-{ }
+{
+}
bool TexUnit::set_texture(const Texture *tex)
{
return result;
}
+bool TexUnit::set_texenv(const TexEnv *env)
+{
+ bool result=(texenv!=env);
+ texenv=env;
+ return result;
+}
+
TexUnit &TexUnit::activate(unsigned n)
{
if(units.size()<=n)
units.resize(n+1);
- glActiveTextureARB(GL_TEXTURE0+n);
+ if(cur_unit!=&units[n] && (cur_unit || n))
+ {
+ static RequireVersion _ver(1, 3);
+ glActiveTexture(GL_TEXTURE0+n);
+ }
cur_unit=&units[n];
return units[n];