DeferredRenderer 1.0
|
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 }