DeferredRenderer 1.0

Effect.cpp

Go to the documentation of this file.
00001 #include "Effect.h"
00002 #include "ngl/ShaderManager.h"
00003 #include "iostream"
00004 
00005 
00006 Effect::Effect(GLuint _texId, const std::string &_shaderName):m_output(_texId),m_shaderName(_shaderName)
00007 {
00008 }
00009 
00010 Effect::~Effect(){}
00011 
00012 void Effect::addSourceTexture(const std::string &_samplerName, GLuint _texId)
00013 {
00014     ngl::ShaderManager *shader = ngl::ShaderManager::instance();
00015     (*shader)[m_shaderName]->use();
00016     shader->setShaderParam1i(m_shaderName,_samplerName,m_sources.size());
00017 
00018     m_sources.push_back(_texId);
00019 }
00020 
00021 void Effect::prepare()
00022 {
00023     ngl::ShaderManager *shader = ngl::ShaderManager::instance();
00024     (*shader)[m_shaderName]->use();
00025 
00026     for(unsigned int i = 0; i < m_sources.size(); i++)
00027     {
00028         glActiveTexture(GL_TEXTURE0 + i);
00029         glBindTexture(GL_TEXTURE_2D, m_sources[i]);
00030     }
00031 }
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines