[Bf-blender-cvs] [253ff57617a] master: Clamp value in sheen calculation to fix fireflies.
Alexander Court
noreply at git.blender.org
Mon Feb 18 14:05:18 CET 2019
Commit: 253ff57617a90537b334449ad992c7ef13f997ea
Author: Alexander Court
Date: Mon Feb 18 13:52:25 2019 +0100
Branches: master
https://developer.blender.org/rB253ff57617a90537b334449ad992c7ef13f997ea
Clamp value in sheen calculation to fix fireflies.
Fixes T59784.
Reviewers: fclem
Reviewed By: fclem
Subscribers: brecht
Maniphest Tasks: T59784
Differential Revision: https://developer.blender.org/D4269
===================================================================
M source/blender/gpu/shaders/gpu_shader_material.glsl
===================================================================
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl
index fc7878dc6ab..a7231bda263 100644
--- a/source/blender/gpu/shaders/gpu_shader_material.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_material.glsl
@@ -1089,6 +1089,8 @@ void convert_metallic_to_specular_tinted(
vec3 principled_sheen(float NV, vec3 basecol_tint, float sheen_tint)
{
float f = 1.0 - NV;
+ /* Temporary fix for T59784. Normal map seems to contain NaNs for tangent space normal maps, therefore we need to clamp value. */
+ f = clamp(f, 0.0, 1.0);
/* Empirical approximation (manual curve fitting). Can be refined. */
float sheen = f*f*f*0.077 + f*0.01 + 0.00026;
return sheen * mix(vec3(1.0), basecol_tint, sheen_tint);
More information about the Bf-blender-cvs
mailing list