]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texture.cpp
Initialize Texture::use_srgb_format
[libs/gl.git] / source / texture.cpp
index ab5700482ce02484efb7b960df00a9b3a95a0908..e6691b41616b6fc5ca0f297a96655d4a396c9d35 100644 (file)
@@ -28,6 +28,7 @@ Texture::Texture(GLenum t, ResourceManager *m):
        format(RGB8),
        storage_fmt(RGB8),
        swizzle(NO_SWIZZLE),
+       use_srgb_format(false),
        auto_gen_mipmap(false),
        default_sampler(*this)
 {
@@ -238,7 +239,8 @@ void Texture::bind_to(unsigned i) const
                        glBindTexture(target, id);
                }
 
-               default_sampler.bind_to(i);
+               if(!unit.get_sampler())
+                       default_sampler.bind_to(i);
        }
 }
 
@@ -260,6 +262,9 @@ void Texture::unbind_from(unsigned i)
                        unit.bind();
                        glBindTexture(cur->target, 0);
                }
+
+               if(unit.get_sampler()==&cur->default_sampler)
+                       Sampler::unbind_from(i);
        }
 }