it = locations_.insert(std::make_pair(name, glGetUniformLocation(program_, name))).first;\r
return it->second;\r
}\r
-\r
- void use()\r
- { \r
- GL(glUseProgramObjectARB(program_)); \r
+ \r
+ void set(const std::string& name, bool value)\r
+ {\r
+ set(name, value ? 1 : 0);\r
}\r
\r
void set(const std::string& name, int value)\r
\r
\r
shader::shader(const std::string& vertex_source_str, const std::string& fragment_source_str) : impl_(new implementation(vertex_source_str, fragment_source_str)){}\r
-void shader::use(){impl_->use();}\r
+void shader::set(const std::string& name, bool value){impl_->set(name, value);}\r
void shader::set(const std::string& name, int value){impl_->set(name, value);}\r
void shader::set(const std::string& name, float value){impl_->set(name, value);}\r
void shader::set(const std::string& name, double value){impl_->set(name, value);}\r
+int shader::id() const{return impl_->program_;}\r
\r
}}
\ No newline at end of file