Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2017-05-11 17:20:10 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-05-11 17:29:35 +0300
commit3fbafaffa11632e3b9f7011317060777c48040aa (patch)
tree33137b7b031e91d011ce9e2f28ca7a97edf9ee01 /source/blender/draw/engines/eevee/eevee_effects.c
parent3341c11bccf46c82aaf7b45f9249913e91885a52 (diff)
Eevee: Add tonemapping using ocio.
Actually it's done by the Draw Manager, so other engines can use it.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_effects.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_effects.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_effects.c b/source/blender/draw/engines/eevee/eevee_effects.c
index 429bb3c790e..d150bf1720c 100644
--- a/source/blender/draw/engines/eevee/eevee_effects.c
+++ b/source/blender/draw/engines/eevee/eevee_effects.c
@@ -64,8 +64,6 @@ static struct {
struct GPUShader *dof_downsample_sh;
struct GPUShader *dof_scatter_sh;
struct GPUShader *dof_resolve_sh;
-
- struct GPUShader *tonemap_sh;
} e_data = {NULL}; /* Engine data */
extern char datatoc_effect_motion_blur_frag_glsl[];
@@ -174,10 +172,6 @@ void EEVEE_effects_init(EEVEE_Data *vedata)
"#define HIGH_QUALITY\n");
}
- if (!e_data.tonemap_sh) {
- e_data.tonemap_sh = DRW_shader_create_fullscreen(datatoc_tonemap_frag_glsl, NULL);
- }
-
if (!stl->effects) {
stl->effects = MEM_callocN(sizeof(EEVEE_EffectsInfo), "EEVEE_EffectsInfo");
}
@@ -489,16 +483,6 @@ void EEVEE_effects_cache_init(EEVEE_Data *vedata)
DRW_shgroup_uniform_vec3(grp, "dofParams", effects->dof_params, 1);
DRW_shgroup_call_add(grp, quad, NULL);
}
-
- {
- /* Final pass : Map HDR color to LDR color.
- * Write result to the default color buffer */
- psl->tonemap = DRW_pass_create("Tone Mapping", DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND);
-
- DRWShadingGroup *grp = DRW_shgroup_create(e_data.tonemap_sh, psl->tonemap);
- DRW_shgroup_uniform_buffer(grp, "hdrColorBuf", &effects->source_buffer);
- DRW_shgroup_call_add(grp, quad, NULL);
- }
}
#define SWAP_BUFFERS() { \
@@ -624,13 +608,11 @@ void EEVEE_draw_effects(EEVEE_Data *vedata)
DRW_framebuffer_bind(dfbl->default_fb);
/* Tonemapping */
- /* TODO : use OCIO */
- DRW_draw_pass(psl->tonemap);
+ DRW_transform_to_display(effects->source_buffer);
}
void EEVEE_effects_free(void)
{
- DRW_SHADER_FREE_SAFE(e_data.tonemap_sh);
DRW_SHADER_FREE_SAFE(e_data.motion_blur_sh);
DRW_SHADER_FREE_SAFE(e_data.dof_downsample_sh);
DRW_SHADER_FREE_SAFE(e_data.dof_scatter_sh);