diff --git a/source/blender/draw/engines/clay/shaders/particle_strand_frag.glsl b/source/blender/draw/engines/clay/shaders/particle_strand_frag.glsl index 396cc5b7e81..b4dff283b18 100644 --- a/source/blender/draw/engines/clay/shaders/particle_strand_frag.glsl +++ b/source/blender/draw/engines/clay/shaders/particle_strand_frag.glsl @@ -9,6 +9,7 @@ layout(std140) uniform material_block { Material shader_param[MAX_MATERIAL]; }; +uniform mat4 ProjectionMatrix; uniform sampler2DArray matcaps; uniform int mat_id; @@ -116,7 +117,7 @@ void hue_sat(float hue, float sat, float value, inout vec3 col) void main() { - vec3 viewvec = normalize(viewPosition); + vec3 viewvec = (ProjectionMatrix[3][3] == 0.0) ? normalize(viewPosition) : vec3(0.0, 0.0, -1.0); vec3 ortho = normalize(cross(viewPosition, tangent)); vec3 norm = normalize(cross(ortho, tangent));