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>2020-02-11 17:18:55 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-02-11 17:19:04 +0300
commit804e90b42d728ecb1073af8d0bae15a91b13a469 (patch)
tree309de25d99c92286b10c9d27e547fd43a69299c1 /source/blender/draw/engines/eevee/eevee_engine.c
parent58cdab8b9759dd59b55895f2f76b9624addbb324 (diff)
DRW: Color Management improvement
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_engine.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_engine.c80
1 files changed, 7 insertions, 73 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c
index 420249ab930..e3b50bb2142 100644
--- a/source/blender/draw/engines/eevee/eevee_engine.c
+++ b/source/blender/draw/engines/eevee/eevee_engine.c
@@ -22,10 +22,11 @@
#include "DRW_render.h"
+#include "draw_color_management.h" /* TODO remove dependency */
+
#include "BLI_rand.h"
#include "BKE_object.h"
-#include "BKE_global.h" /* for G.debug_value */
#include "DEG_depsgraph_query.h"
@@ -183,13 +184,11 @@ static void eevee_cache_finish(void *vedata)
* the background and the scene pass are visible.
* Note: we could break it up in two passes using some depth test
* to reduce the fillrate */
-static void eevee_draw_background(void *vedata)
+static void eevee_draw_scene(void *vedata)
{
EEVEE_PassList *psl = ((EEVEE_Data *)vedata)->psl;
- EEVEE_TextureList *txl = ((EEVEE_Data *)vedata)->txl;
EEVEE_StorageList *stl = ((EEVEE_Data *)vedata)->stl;
EEVEE_FramebufferList *fbl = ((EEVEE_Data *)vedata)->fbl;
- EEVEE_EffectsInfo *effects = stl->effects;
EEVEE_ViewLayerData *sldata = EEVEE_view_layer_data_ensure();
/* Default framebuffer and texture */
@@ -338,79 +337,15 @@ static void eevee_draw_background(void *vedata)
}
if ((stl->g_data->render_passes & SCE_PASS_COMBINED) > 0) {
- /* Tonemapping and transfer result to default framebuffer. */
- bool use_render_settings = stl->g_data->use_color_render_settings;
-
+ /* Transfer result to default framebuffer. */
GPU_framebuffer_bind(dfbl->default_fb);
- DRW_transform_to_display(stl->effects->final_tx, true, use_render_settings);
-
- /* Draw checkerboard with alpha under. */
- EEVEE_draw_alpha_checker(vedata);
+ DRW_transform_none(stl->effects->final_tx);
}
else {
EEVEE_renderpasses_draw(sldata, vedata);
}
- /* Debug : Output buffer to view. */
- switch (G.debug_value) {
- case 1:
- if (txl->maxzbuffer) {
- DRW_transform_to_display(txl->maxzbuffer, false, false);
- }
- break;
- case 2:
- if (effects->ssr_pdf_output) {
- DRW_transform_to_display(effects->ssr_pdf_output, false, false);
- }
- break;
- case 3:
- if (effects->ssr_normal_input) {
- DRW_transform_to_display(effects->ssr_normal_input, false, false);
- }
- break;
- case 4:
- if (effects->ssr_specrough_input) {
- DRW_transform_to_display(effects->ssr_specrough_input, false, false);
- }
- break;
- case 5:
- if (txl->color_double_buffer) {
- DRW_transform_to_display(txl->color_double_buffer, false, false);
- }
- break;
- case 6:
- if (effects->gtao_horizons_debug) {
- DRW_transform_to_display(effects->gtao_horizons_debug, false, false);
- }
- break;
- case 7:
- if (effects->gtao_horizons) {
- DRW_transform_to_display(effects->gtao_horizons, false, false);
- }
- break;
- case 8:
- if (effects->sss_irradiance) {
- DRW_transform_to_display(effects->sss_irradiance, false, false);
- }
- break;
- case 9:
- if (effects->sss_radius) {
- DRW_transform_to_display(effects->sss_radius, false, false);
- }
- break;
- case 10:
- if (effects->sss_albedo) {
- DRW_transform_to_display(effects->sss_albedo, false, false);
- }
- break;
- case 11:
- if (effects->velocity_tx) {
- DRW_transform_to_display(effects->velocity_tx, false, false);
- }
- break;
- default:
- break;
- }
+ EEVEE_renderpasses_draw_debug(vedata);
EEVEE_volumes_free_smoke_textures();
@@ -525,8 +460,7 @@ DrawEngineType draw_engine_eevee_type = {
&eevee_cache_init,
&EEVEE_cache_populate,
&eevee_cache_finish,
- &eevee_draw_background,
- NULL, /* Everything is drawn in the background pass (see comment on function) */
+ &eevee_draw_scene,
&eevee_view_update,
&eevee_id_update,
&eevee_render_to_image,