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

This commit is contained in:
2019-12-06 22:26:37 +00:00
parent 816c87d101
commit 1c73e79c65
11 changed files with 295 additions and 104 deletions

View File

@@ -23,7 +23,7 @@
#include "renderer_material.h"
#include "renderer_service.h"
#include "renderer_selection.h"
#include "glframebuffer_mipmap.h"
#include "tonemapping_proc.h"
#include <QQueue>
@@ -33,6 +33,7 @@ class Renderer: public RendererBase {
friend class RendererMaterial;
friend class RendererService;
friend class RendererSelection;
friend class TonemappingProc;
enum RenderPass {
rpSolid,
rpTransparent,
@@ -91,9 +92,6 @@ protected:
void fillObjectsBuffer(const QList<ObjectBase*> & ol, RenderPass pass);
void reloadObjects();
void renderObjects(Scene & scene, RenderPass pass);
void prepareSum();
void resizeSum();
void renderSum(Framebuffer & fbo_src, int index);
bool bindShader(ShaderRole role, QOpenGLShaderProgram ** ret = 0);
void initShaders();
@@ -101,9 +99,8 @@ protected:
private:
float exposure_;
bool edit_mode, need_init_shaders, is_camera_light;
Framebuffer fbo_ds, fbo_out, fbo_1x1;
FramebufferMipmap fbomm;
bool edit_mode, need_init_shaders, is_camera_light, need_render_sum;
Framebuffer fbo_ds, fbo_out;
/*QOpenGLShaderProgram * shader_fxaa, * shader_ds_0, * shader_ds_1, * shader_hdr, * shader_small;
QOpenGLShaderProgram * shader_bloom_0, * shader_bloom_1, * shader_motion_blur, * shader_fbo_add;
QOpenGLShaderProgram * shader_shadow, * shader_ssr, * shader_ssr_blur, * shader_ssr_merge;
@@ -112,13 +109,10 @@ private:
QMap<ShaderRole, QStringList> shader_defines;
QMap<ShaderRole, QOpenGLShaderProgram*> shaders;
QOpenGLShaderProgram * shader_sum;
Buffer buffer_vbo;
GLenum vbo_vao;
RendererMaterial rend_mat;
RendererService rend_service;
RendererSelection rend_selection;
TonemappingProc tone_proc;
Mesh * quad;
Light * cam_light;