diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-07-31 16:15:42 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-07-31 16:18:38 +0300 |
commit | 1be1600c325eb1a52e405fa06fb23f5dca156b17 (patch) | |
tree | e88d8935cc175dd3bb78d2e25fb6edee79b31c1c /source/blender/draw/engines/eevee/eevee_materials.c | |
parent | 683e31fd80d36cffe4c65cfc0e973bb191889eee (diff) |
Eevee: Draw background after depth prepass.
Reduce overdraw. 0.4ms goes to 0.01ms if background is completely occluded.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_materials.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_materials.c | 7 |
1 files changed, 4 insertions, 3 deletions
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; |