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

This commit is contained in:
2015-11-26 11:53:29 +00:00
parent 2ace72ff47
commit 4cbcbb5174
26 changed files with 346 additions and 105 deletions

View File

@@ -20,12 +20,13 @@
#define RENDERER_DEFERRED_SHADING_H
#include "qglview.h"
#include <QLabel>
class RendererDeferredShading: public GLRendererBase
{
public:
RendererDeferredShading(QGLView * view);
virtual ~RendererDeferredShading() {if (shader_fxaa != 0) delete shader_fxaa;}
virtual ~RendererDeferredShading();
virtual void renderScene();
@@ -35,19 +36,24 @@ protected:
void reloadShaders();
void setupShadersTextures(GLObjectBase & object, RenderingParameters & rp);
void setupShadersLights(int lights_count) {cplc = lights_count;}
void setupDSLights(int pass, int lights_per_pass, const QMatrix4x4 & view_matrix);
void setupDSLights(int pass, const QMatrix4x4 & view_matrix);
void setupAmbientLight(const QColor & a, bool first_pass);
private:
int cplc;
GLFramebuffer fbo_g, fbo_out;
QGLShaderProgram * shader_fxaa, * shader_ds_0, * shader_ds_1;
int cplc, BUG[8], lights_per_pass;
double exposure_;
GLFramebuffer fbo_g, fbo_out, fbo_hsmall;
QGLShaderProgram * shader_fxaa, * shader_ds_0, * shader_ds_1, * shader_hdr, * shader_small;
QMatrix4x4 pm, mvm, mvpm, pim, mvim, mvpim;
QMatrix3x3 nm;
QVector4D corner_dirs[4];
QVector<Vector3d> hcontent;
Light amb_light;
QWidget * df;
QLabel * label_exp, * label_exp_step;
};
#endif // RENDERER_DEFERRED_SHADING_H