Moved the post processing shader to KRShaderManager / KRShader

Changed many vertex buffers to VBO's

--HG--
extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%40100
This commit is contained in:
kearwood
2012-09-19 20:26:30 +00:00
parent 283460acc7
commit 9f4608a888
18 changed files with 241 additions and 195 deletions

View File

@@ -21,6 +21,7 @@
#import "KRBoundingVolume.h"
#import "KRShaderManager.h"
#import "KRShader.h"
#import "KRStockGeometry.h"
#import "assert.h"
KRLight::KRLight(KRScene &scene, std::string name) : KRNode(scene, name)
@@ -142,27 +143,16 @@ void KRLight::render(KRCamera *pCamera, KRContext *pContext, KRBoundingVolume &f
matModelToView.transpose();
matModelToView.invert();
// Render light flare on transparency pass
KRShader *pShader = pContext->getShaderManager()->getShader("flare", pCamera, false, false, false, 0, false, false, false, false, false, false, false, false, false, renderPass);
pShader->bind(pCamera, matModelToView, mvpmatrix, cameraPosition, lightDirection, pShadowMatrices, shadowDepthTextures, 0, renderPass);
m_pContext->getTextureManager()->selectTexture(0, m_pFlareTexture);
static const GLfloat squareVertices[] = {
0.0f, 0.0f,
1.0f, 0.0f,
0.0f, 1.0f,
1.0f, 1.0f,
};
GLDEBUG(glVertexAttribPointer(KRShader::KRENGINE_ATTRIB_TEXUVA, 2, GL_FLOAT, 0, 0, squareVertices));
GLDEBUG(glUniform1f(
pShader->m_uniforms[KRShader::KRENGINE_UNIFORM_FLARE_SIZE],
m_flareSize
));
GLDEBUG(glEnableVertexAttribArray(KRShader::KRENGINE_ATTRIB_TEXUVA));
pShader->m_uniforms[KRShader::KRENGINE_UNIFORM_FLARE_SIZE],
m_flareSize
));
m_pContext->getTextureManager()->selectTexture(0, m_pFlareTexture);
m_pContext->getModelManager()->bindVBO((void *)KRENGINE_VBO_2D_SQUARE, KRENGINE_VBO_2D_SQUARE_SIZE, true, false, false, true, false);
GLDEBUG(glDrawArrays(GL_TRIANGLE_STRIP, 0, 4));
}
}