diff --git a/source/blender/draw/engines/eevee/shaders/surface_frag.glsl b/source/blender/draw/engines/eevee/shaders/surface_frag.glsl index 3af422b3877..bf105bd907b 100644 --- a/source/blender/draw/engines/eevee/shaders/surface_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/surface_frag.glsl @@ -21,6 +21,11 @@ vec3 displacement_exec(); /* Return new shading normal. */ vec3 displacement_bump() { +# ifdef HAIR_SHADER + /* Not supported. */ + return normalize(g_data.N); +# else + vec2 dHd; dF_branch(dot(displacement_exec(), g_data.N + dF_impl(g_data.N)), dHd); @@ -38,6 +43,7 @@ vec3 displacement_bump() float facing = FrontFacing ? 1.0 : -1.0; return normalize(abs(det) * g_data.N - facing * sign(det) * surfgrad); +# endif } #endif diff --git a/source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl b/source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl index 4b53375575c..965780d9bcf 100644 --- a/source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl +++ b/source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl @@ -277,7 +277,7 @@ void output_aov(vec4 color, float value, uint hash) /* Return new shading normal. */ vec3 displacement_bump() { -# ifdef GPU_FRAGMENT_SHADER +# if defined(GPU_FRAGMENT_SHADER) && !defined(MAT_GEOM_CURVES) vec2 dHd; dF_branch(dot(nodetree_displacement(), g_data.N + dF_impl(g_data.N)), dHd);