diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-08-13 01:11:36 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-08-14 14:36:56 +0300 |
commit | 13d469e6f0c554399629febeb1fd8d680b873a90 (patch) | |
tree | 16d8812da3b9cc1295a4693e1ec3e6687e1ae36f /source/blender/draw | |
parent | d5002f007e8d770dea15f0881cd9d0a4f3aaf824 (diff) |
Eevee: Remove Additive & Multiply Blend mode
This commit also provide a compatibility code that will convert old
materials using Additive or Multiply Blend mode to their node equivalent.
This conversion is only done on outputs that are enabled for eevee.
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_materials.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index ccc2d6ba020..738745f3072 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -1474,21 +1474,10 @@ static void material_transparent(Material *ma, DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_DEPTH_EQUAL | DRW_STATE_BLEND_CUSTOM); - DRWState cur_state = DRW_STATE_WRITE_COLOR; + DRWState cur_state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_CUSTOM; cur_state |= (use_prepass) ? DRW_STATE_DEPTH_EQUAL : DRW_STATE_DEPTH_LESS_EQUAL; cur_state |= (do_cull) ? DRW_STATE_CULL_BACK : 0; - switch (ma->blend_method) { - case MA_BM_ADD: - case MA_BM_MULTIPLY: - case MA_BM_BLEND: - cur_state |= DRW_STATE_BLEND_CUSTOM; - break; - default: - BLI_assert(0); - break; - } - /* Disable other blend modes and use the one we want. */ DRW_shgroup_state_disable(*shgrp, all_state); DRW_shgroup_state_enable(*shgrp, cur_state); @@ -1564,8 +1553,6 @@ void EEVEE_materials_cache_populate(EEVEE_Data *vedata, &shgrp_depth_array[i], &shgrp_depth_clip_array[i]); break; - case MA_BM_ADD: - case MA_BM_MULTIPLY: case MA_BM_BLEND: material_transparent(ma_array[i], sldata, |