git-svn-id: svn://db.shs.com.ru/libs@656 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -56,6 +56,7 @@ class Renderer: public RendererBase {
|
||||
srLightOmniPass,
|
||||
srLightSpotPass,
|
||||
srFinalPass,
|
||||
srTonemapPass,
|
||||
};
|
||||
enum DeferredBufferRole {
|
||||
dbrDiffuseRough,
|
||||
@@ -64,6 +65,12 @@ class Renderer: public RendererBase {
|
||||
dbrEmissionBitangX,
|
||||
dbrSpeedBitangXY,
|
||||
};
|
||||
enum OutBufferRole {
|
||||
obrTonemap,
|
||||
obrSum,
|
||||
obrSolidOmni,
|
||||
obrSolidSpot,
|
||||
};
|
||||
|
||||
public:
|
||||
Renderer(QGLView * view_);
|
||||
@@ -83,6 +90,9 @@ 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();
|
||||
@@ -91,7 +101,7 @@ protected:
|
||||
private:
|
||||
float exposure_;
|
||||
bool edit_mode, need_init_shaders, is_camera_light;
|
||||
Framebuffer fbo_ds, fbo_out, fbo_hsmall;
|
||||
Framebuffer fbo_ds, fbo_out, fbo_small_4, fbo_small_16, fbo_1x1;
|
||||
/*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;
|
||||
@@ -100,6 +110,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;
|
||||
|
||||
Reference in New Issue
Block a user