From df7f69b8735f440f22404ab65698404deff30ed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Thu, 23 May 2019 15:30:38 +0200 Subject: Eevee: Fix SSS energy disapearing with alpha blended material --- source/blender/gpu/intern/gpu_material.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source/blender/gpu/intern/gpu_material.c') diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c index fde60fd387d..007a13a06ef 100644 --- a/source/blender/gpu/intern/gpu_material.c +++ b/source/blender/gpu/intern/gpu_material.c @@ -620,7 +620,7 @@ void GPU_material_flag_set(GPUMaterial *mat, eGPUMatFlag flag) bool GPU_material_flag_get(GPUMaterial *mat, eGPUMatFlag flag) { - return (mat->flag & flag); + return (mat->flag & flag) != 0; } GPUMaterial *GPU_material_from_nodetree_find(ListBase *gpumaterials, @@ -684,7 +684,10 @@ GPUMaterial *GPU_material_from_nodetree(Scene *scene, if (mat->outlink) { /* HACK: this is only for eevee. We add the define here after the nodetree evaluation. */ if (GPU_material_flag_get(mat, GPU_MATFLAG_SSS)) { - defines = BLI_string_joinN(defines, "#define USE_SSS\n"); + defines = BLI_string_joinN(defines, + "#ifndef USE_ALPHA_BLEND\n" + "# define USE_SSS\n" + "#endif\n"); } /* Prune the unused nodes and extract attributes before compiling so the * generated VBOs are ready to accept the future shader. */ -- cgit v1.2.3