From 1be1600c325eb1a52e405fa06fb23f5dca156b17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Mon, 31 Jul 2017 15:15:42 +0200 Subject: Eevee: Draw background after depth prepass. Reduce overdraw. 0.4ms goes to 0.01ms if background is completely occluded. --- source/blender/draw/engines/eevee/eevee_materials.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'source/blender/draw/engines/eevee/eevee_materials.c') diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index c1112eedf0d..8cd9dd4829d 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -343,8 +343,9 @@ void EEVEE_materials_init(EEVEE_StorageList *stl) frag_str = BLI_dynstr_get_cstring(ds_frag); BLI_dynstr_free(ds_frag); - e_data.default_background = DRW_shader_create_fullscreen( - datatoc_default_world_frag_glsl, NULL); + e_data.default_background = DRW_shader_create( + datatoc_background_vert_glsl, NULL, datatoc_default_world_frag_glsl, + NULL); e_data.default_prepass_sh = DRW_shader_create( datatoc_prepass_vert_glsl, NULL, datatoc_prepass_frag_glsl, @@ -668,7 +669,7 @@ void EEVEE_materials_cache_init(EEVEE_Data *vedata) } { - psl->background_pass = DRW_pass_create("Background Pass", DRW_STATE_WRITE_DEPTH | DRW_STATE_WRITE_COLOR); + psl->background_pass = DRW_pass_create("Background Pass", DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_EQUAL); struct Gwn_Batch *geom = DRW_cache_fullscreen_quad_get(); DRWShadingGroup *grp = NULL; -- cgit v1.2.3