diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-07-10 15:42:43 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-07-11 13:39:35 +0300 |
commit | ad7458d00c2833cfcc99dc54280c52b2e5a17cf2 (patch) | |
tree | 5c7ff46004af57508b452fb783d757f5e8fc607e /source/blender | |
parent | d6b46f9ea5f0084513f06d6bfe31f514666a389b (diff) |
Eevee: Transparency: Add Alpha Blend mode.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_materials.c | 7 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_material_types.h | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_material.c | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index 929e0932144..0681780484d 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -876,6 +876,9 @@ static void material_transparent( case MA_BM_MULTIPLY: cur_state |= DRW_STATE_MULTIPLY; break; + case MA_BM_BLEND: + cur_state |= DRW_STATE_BLEND; + break; default: BLI_assert(0); break; @@ -940,9 +943,13 @@ void EEVEE_materials_cache_populate(EEVEE_Data *vedata, EEVEE_SceneLayerData *sl break; case MA_BM_ADD: case MA_BM_MULTIPLY: + case MA_BM_BLEND: material_transparent(ma, sldata, vedata, do_cull, use_flat_nor, &gpumat_array[i], &shgrp_array[i]); break; + default: + BLI_assert(0); + break; } } diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h index fc0f4df4170..c7d7ff1e5db 100644 --- a/source/blender/makesdna/DNA_material_types.h +++ b/source/blender/makesdna/DNA_material_types.h @@ -502,6 +502,7 @@ enum { MA_BM_MULTIPLY, MA_BM_CLIP, MA_BM_HASHED, + MA_BM_BLEND, }; #endif diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c index 27b9778f280..2625c9cf1f3 100644 --- a/source/blender/makesrna/intern/rna_material.c +++ b/source/blender/makesrna/intern/rna_material.c @@ -1811,6 +1811,7 @@ void RNA_def_material(BlenderRNA *brna) {MA_BM_MULTIPLY, "MULTIPLY", 0, "Multiply", "Render surface and blend the result with multiplicative blending"}, {MA_BM_CLIP, "CLIP", 0, "Alpha Clip", "Use the alpha threshold to clip the visibility (binary visibility)"}, {MA_BM_HASHED, "HASHED", 0, "Alpha Hashed", "Use noise to dither the binary visibility (works well with multi-samples)"}, + {MA_BM_BLEND, "BLEND", 0, "Alpha Blend", "Render polygon transparent, depending on alpha channel of the texture"}, {0, NULL, 0, NULL, NULL} }; |