[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