From 3fe395ca320b5a979dd31999c3987d8238e2e8b4 Mon Sep 17 00:00:00 2001 From: HifiExperiments Date: Fri, 22 Nov 2019 00:37:27 -0800 Subject: [PATCH] properly implement alphaModes --- libraries/graphics/src/graphics/MaterialTextures.slh | 7 ++----- libraries/render-utils/src/model.slf | 6 ++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/libraries/graphics/src/graphics/MaterialTextures.slh b/libraries/graphics/src/graphics/MaterialTextures.slh index cb83f7d9cf..534e1ae869 100644 --- a/libraries/graphics/src/graphics/MaterialTextures.slh +++ b/libraries/graphics/src/graphics/MaterialTextures.slh @@ -223,13 +223,10 @@ vec3 fetchLightMap(vec2 uv) { } <@endfunc@> -<@func evalMaterialOpacity(fetchedOpacity, materialOpacityCutoff, materialOpacity, matKey, opacity)@> +<@func evalMaterialOpacity(fetchedOpacity, materialOpacity, opacity)@> { // This path only valid for transparent material - <$opacity$> = mix(<$fetchedOpacity$>, - step(<$materialOpacityCutoff$>, <$fetchedOpacity$>), - float((<$matKey$> & OPACITY_MASK_MAP_BIT) != 0)) - * <$materialOpacity$>; + <$opacity$> = <$materialOpacity$> * <$fetchedOpacity$>; } <@endfunc@> diff --git a/libraries/render-utils/src/model.slf b/libraries/render-utils/src/model.slf index a6cc82e335..229a6b1907 100644 --- a/libraries/render-utils/src/model.slf +++ b/libraries/render-utils/src/model.slf @@ -103,9 +103,8 @@ void main(void) { <$fetchMaterialTexturesCoord0(matKey, _texCoord0, albedoTex)$> <@if HIFI_USE_TRANSLUCENT@> - float cutoff = getMaterialOpacityCutoff(mat); float opacity = getMaterialOpacity(mat) * _color.a; - <$evalMaterialOpacity(albedoTex.a, cutoff, opacity, matKey, opacity)$>; + <$evalMaterialOpacity(albedoTex.a, opacity, opacity)$>; <$discardInvisible(opacity)$>; <@else@> float cutoff = getMaterialOpacityCutoff(mat); @@ -155,9 +154,8 @@ void main(void) { <@endif@> <@if HIFI_USE_TRANSLUCENT@> - float cutoff = getMaterialOpacityCutoff(mat); float opacity = getMaterialOpacity(mat) * _color.a; - <$evalMaterialOpacity(albedoTex.a, cutoff, opacity, matKey, opacity)$>; + <$evalMaterialOpacity(albedoTex.a, opacity, opacity)$>; <$discardInvisible(opacity)$>; <@else@> float cutoff = getMaterialOpacityCutoff(mat);