]> git.tdb.fi Git - libs/gl.git/blobdiff - source/program.cpp
Move Program::bind to its proper place
[libs/gl.git] / source / program.cpp
index 7598bf1572adc036f7777fa8e9741c6086102689..8ca8e336c0d18dc3f0efb08b31914824570f36c4 100644 (file)
@@ -137,7 +137,7 @@ void Program::init()
 
 Program::~Program()
 {
-       for(list<Shader *>::iterator i=owned_data.begin(); i!=owned_data.end(); ++i)
+       for(ShaderList::iterator i=owned_data.begin(); i!=owned_data.end(); ++i)
                delete *i;
        glDeleteObjectARB(id);
 }
@@ -160,7 +160,7 @@ void Program::attach_shader_owned(Shader *shader)
 
 void Program::detach_shader(Shader &shader)
 {
-       list<Shader *>::iterator i = remove(shaders.begin(), shaders.end(), &shader);
+       ShaderList::iterator i = remove(shaders.begin(), shaders.end(), &shader);
        if(i!=shaders.end())
        {
                shaders.erase(i, shaders.end());
@@ -222,7 +222,7 @@ void Program::bind_attribute(unsigned index, const string &name)
 
 void Program::link()
 {
-       for(list<Shader *>::iterator i=shaders.begin(); i!=shaders.end(); ++i)
+       for(ShaderList::iterator i=shaders.begin(); i!=shaders.end(); ++i)
                if(!(*i)->is_compiled())
                        (*i)->compile();
 
@@ -271,20 +271,9 @@ string Program::get_info_log() const
        return log;
 }
 
-void Program::bind() const
-{
-       if(!linked)
-               throw invalid_operation("Program::bind");
-
-       if(!set_current(this))
-               return;
-
-       glUseProgramObjectARB(id);
-}
-
 int Program::get_uniform_location(const string &n) const
 {
-       map<string, UniformInfo>::const_iterator i = uniforms.find(n);
+       UniformMap::const_iterator i = uniforms.find(n);
        if(i==uniforms.end())
        {
                if(n[n.size()-1]==']')
@@ -307,6 +296,17 @@ int Program::get_uniform_location(const string &n) const
        return i->second.location;
 }
 
+void Program::bind() const
+{
+       if(!linked)
+               throw invalid_operation("Program::bind");
+
+       if(!set_current(this))
+               return;
+
+       glUseProgramObjectARB(id);
+}
+
 void Program::unbind()
 {
        if(!set_current(0))