git-svn-id: svn://db.shs.com.ru/libs@677 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-12-11 20:18:55 +00:00
parent d7dc7d16a6
commit 11853c0fed
10 changed files with 515 additions and 383 deletions

View File

@@ -157,10 +157,11 @@ void Renderer::initShaders() {
prog->setUniformValue(QString("tex_%1").arg(i).toLatin1().constData(), i);
}
if (bindShader(srFinalPass, &prog)) {
prog->setUniformValue("tex_s_0", 0);
prog->setUniformValue("tex_s_1", 1);
prog->setUniformValue("tex_t_0", 2);
prog->setUniformValue("tex_t_1", 3);
prog->setUniformValue("tex_g1" , 0);
prog->setUniformValue("tex_s_0", 1);
prog->setUniformValue("tex_s_1", 2);
prog->setUniformValue("tex_t_0", 3);
prog->setUniformValue("tex_t_1", 4);
}
if (bindShader(srGeometryPass, &prog)) {
setUniformMaps(prog);
@@ -240,6 +241,9 @@ void Renderer::renderLight(int first_wr_buff) {
setUniformViewCorners(prog, cam);
prog->setUniformValue("lights_start", lights_start[pass.second]);
prog->setUniformValue("lights_count", cur_lights[pass.second].size());
prog->setUniformValue("fog_color", view->fogColor_);
prog->setUniformValue("fog_decay", QVector3D(view->fogDecay_0, view->fogDecay_1, view->fogDecay_2));
prog->setUniformValue("fog_density", view->fogDensity_);
fbo_out.setWriteBuffer(first_wr_buff + pass.second);
glClearFramebuffer(Qt::black, false);
renderQuad(prog, quad, cam);
@@ -319,10 +323,11 @@ void Renderer::renderScene() {
/// blending layers
if (bindShader(srFinalPass, &prog)) {
fbo_out.bindColorTexture(obrSolidOmni , 0);
fbo_out.bindColorTexture(obrSolidSpot , 1);
fbo_out.bindColorTexture(obrTransparentOmni, 2);
fbo_out.bindColorTexture(obrTransparentSpot, 3);
//fbo_ds .bindColorTexture(dbrNormalZ , 0);
fbo_out.bindColorTexture(obrSolidOmni , 1);
fbo_out.bindColorTexture(obrSolidSpot , 2);
fbo_out.bindColorTexture(obrTransparentOmni, 3);
fbo_out.bindColorTexture(obrTransparentSpot, 4);
fbo_out.setWriteBuffer(obrSum);
renderQuad(prog, quad);
}