version 1.3.0

new QGLViewSettings structure for all view parameters
API for load/save it, automatic sync with ViewEditor
some clean
This commit is contained in:
2023-09-05 20:16:49 +03:00
parent 56a50715e2
commit 1ed6f12498
11 changed files with 164 additions and 143 deletions

View File

@@ -19,7 +19,7 @@
#define GL_GLEXT_PROTOTYPES
#include "renderer.h"
#include "ccm_qglengine_core.h"
#include "ccm_renderer.h"
#include "glmesh.h"
#include "glshaders.h"
#include "gltexture_manager.h"
@@ -394,9 +394,9 @@ void Renderer::renderLight(int first_wr_buff, bool clear_only) {
prog->setUniformValue("shadows_enabled", view->shadows());
if (view->shadows()) {
prog->setUniformValue("shadow_size", view->shadow_map_size);
prog->setUniformValue("soft_shadows_enabled", view->soft_shadows);
prog->setUniformValue("soft_shadows_samples", view->soft_shadows_samples);
prog->setUniformValue("soft_shadows_quality", view->soft_shadows_quality);
prog->setUniformValue("soft_shadows_enabled", view->settings.soft_shadows);
prog->setUniformValue("soft_shadows_samples", view->settings.soft_shadows_samples);
prog->setUniformValue("soft_shadows_quality", view->settings.soft_shadows_quality);
GLenum filter = view->softShadows() ? GL_NEAREST : GL_LINEAR;
shadow_maps_cone.bind(view, tarShadowsCone);
view->glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, filter);
@@ -661,10 +661,11 @@ void Renderer::renderScene() {
/// tonemapping
phase.begin("tonemap");
tone_proc.enabled = view->settings.autoExposure;
tone_proc.process();
auto free = getFreePlanes(0);
if (bindShader(srTonemapPass, &prog)) {
prog->setUniformValue("gamma", gamma_);
prog->setUniformValue("gamma", view->settings.gamma);
prog->setUniformValue("frame_max", tone_proc.frameMax());
// qDebug() << tone_proc.frameMax();
fbo_out.bindColorTexture(prev_write_plane, 0);
@@ -676,7 +677,7 @@ void Renderer::renderScene() {
/// FXAA
phase.begin("fxaa");
if (view->FXAA_) {
if (view->settings.FXAA) {
prog = shader_fxaa;
if (bindShader(prog)) {
auto free = getFreePlanes(0);