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

This commit is contained in:
2019-05-27 16:36:51 +00:00
parent 09e7268779
commit bb75525a3b
37 changed files with 926 additions and 683 deletions

View File

@@ -72,7 +72,7 @@ void RendererSimple::renderScene() {
glDepthFunc(GL_EQUAL);
}
//view.camera().apply(view.aspect);
rp.cam_offset_matrix = view.camera().offsetMatrix();
rp.cam_offset_matrix = view.camera()->offsetMatrix();
rp.prepare();
setupLights(l, 8);
@@ -90,16 +90,16 @@ void RendererSimple::renderScene() {
}
fbo_c.release();*/
//qDebug() << rp.viewproj_matrix << (getGLMatrix(GL_PROJECTION_MATRIX)*getGLMatrix(GL_MODELVIEW_MATRIX));
renderObjects(GLObjectBase::Solid, l, 0, true, view.isLightEnabled(), view.isFogEnabled());
renderObjects(GLObjectBase::Solid, l, nullptr, true, view.isLightEnabled(), view.isFogEnabled());
//renderObjects(GLObjectBase::Solid, l, 0, true, true, view.isFogEnabled());
renderObjects(GLObjectBase::Transparent, l, 0, true, true, view.isFogEnabled());
renderObjects(GLObjectBase::Transparent, l, nullptr, true, true, view.isFogEnabled());
if (passes > 1) {
glSetLightEnabled(false);
glSetCapEnabled(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE);
glReleaseTextures();
view.glReleaseTextures();
glBindTexture(GL_TEXTURE_2D, fbo.colorTexture(1));
glDisableDepth();
fbo.setWriteBuffer(0);
@@ -109,7 +109,7 @@ void RendererSimple::renderScene() {
if (view.isFeatureEnabled(QGLView::qglFXAA) || passes > 1) {
fbo.release();
//glClearFramebuffer();
glActiveTextureChannel(0);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, fbo.colorTexture());
glSetLightEnabled(false);
glSetCapEnabled(GL_BLEND, false);
@@ -118,7 +118,7 @@ void RendererSimple::renderScene() {
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
shader_fxaa->bind();
shader_fxaa->setUniformValue("dt", QVector2D(1. / view.width(), 1. / view.height()));
shader_fxaa->setUniformValue("dt", QVector2D(1.f / view.width(), 1.f / view.height()));
glDrawQuad();
shader_fxaa->release();
} else {