]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texunit.cpp
Inherit Loaders from the ObjectLoader classes
[libs/gl.git] / source / texunit.cpp
index bda7599143a11bf05abcf330a58eca6895c3da67..622599a213d2481acba6707e573286b0d4145f9d 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of libmspgl
-Copyright © 2007  Mikko Rasa, Mikkosoft Productions
+Copyright © 2007-2008  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
@@ -18,7 +18,6 @@ namespace GL {
 TexUnit::TexUnit():
        texture(0)
 {
-       require_version(1, 3);
 }
 
 bool TexUnit::set_texture(const Texture *tex)
@@ -28,12 +27,23 @@ 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);
 
-       glActiveTexture(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];