Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-12-08 18:34:41 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-12-08 18:39:06 +0300
commit5c234a558c1ac0921f171fa38c59bb51b21e2b74 (patch)
tree3ee3e616b503c806df5d943456698137c3d998cb /source/blender/gpu
parent03cb991618b5ca0263c2fb4b3487b49143cf18fa (diff)
Fix T72269: crash with Eevee and normal maps after recent math node changes
Reusing math node functions for normal map node caused problems.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/shaders/material/gpu_shader_material_math_util.glsl5
-rw-r--r--source/blender/gpu/shaders/material/gpu_shader_material_normal_map.glsl5
2 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_math_util.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_math_util.glsl
index d4f7866b206..e8487fb5d42 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_math_util.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_math_util.glsl
@@ -93,11 +93,6 @@ vec3 c_mod(vec3 a, vec3 b)
return vec3(c_mod(a.x, b.x), c_mod(a.y, b.y), c_mod(a.z, b.z));
}
-void vector_mix(float strength, vec3 a, vec3 b, out vec3 outVector)
-{
- outVector = strength * a + (1 - strength) * b;
-}
-
void invert_z(vec3 v, out vec3 outv)
{
v.z = -v.z;
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_normal_map.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_normal_map.glsl
index a9be6bfa0ff..2b4a0204d97 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_normal_map.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_normal_map.glsl
@@ -20,3 +20,8 @@ void color_to_blender_normal_new_shading(vec3 color, out vec3 normal)
{
normal = vec3(2.0, -2.0, -2.0) * color - vec3(1.0);
}
+
+void node_normal_map_mix(float strength, vec3 newnormal, vec3 oldnormal, out vec3 outnormal)
+{
+ outnormal = normalize(mix(oldnormal, newnormal, max(strength, 0.0)));
+}