[Bf-blender-cvs] [d7acabdef5a] blender2.8: Eevee: SSS: Fix OpenGL error when enabling TRANSLUCENCY but not SSSS.

Clément Foucault noreply at git.blender.org
Wed Jan 17 00:01:35 CET 2018


Commit: d7acabdef5a409e9c25395bc7919b9ea82ce0d8b
Author: Clément Foucault
Date:   Wed Jan 17 00:01:17 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBd7acabdef5a409e9c25395bc7919b9ea82ce0d8b

Eevee: SSS: Fix OpenGL error when enabling TRANSLUCENCY but not SSSS.

This was causing this error:
"Different sampler types for same sample texture unit in fragment shader"

===================================================================

M	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 7628ff05756..caa8a58c8e6 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -989,9 +989,11 @@ static void material_opaque(
 	float *rough_p = &ma->gloss_mir;
 
 	const bool use_gpumat = (ma->use_nodes && ma->nodetree);
-	const bool use_refract = ((ma->blend_flag & MA_BL_SS_REFRACTION) != 0) && ((stl->effects->enabled_effects & EFFECT_REFRACT) != 0);
-	const bool use_sss = ((ma->blend_flag & MA_BL_SS_SUBSURFACE) != 0) && ((stl->effects->enabled_effects & EFFECT_SSS) != 0);
-	const bool use_translucency = ((ma->blend_flag & MA_BL_TRANSLUCENCY) != 0) && ((stl->effects->enabled_effects & EFFECT_SSS) != 0);
+	const bool use_refract = ((ma->blend_flag & MA_BL_SS_REFRACTION) != 0) &&
+	                         ((stl->effects->enabled_effects & EFFECT_REFRACT) != 0);
+	const bool use_sss = ((ma->blend_flag & MA_BL_SS_SUBSURFACE) != 0) &&
+	                     ((stl->effects->enabled_effects & EFFECT_SSS) != 0);
+	const bool use_translucency = use_sss && ((ma->blend_flag & MA_BL_TRANSLUCENCY) != 0);
 
 	EeveeMaterialShadingGroups *emsg = BLI_ghash_lookup(material_hash, (const void *)ma);



More information about the Bf-blender-cvs mailing list