From 71ed6f32d2e3964f27204e3b9c6823fa61d7f8e4 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 26 Feb 2021 16:49:06 +0100 Subject: Fix T84658: Anisotropic BSDF - most modes not using Screen Space Reflection Anisotropic is not really supported in Eevee, but since code looks like it is just intended to make it behave like glossy, it should function like it too. Seems like the internal calling from `node_bsdf_glossy` from `node_bsdf_anisotropic` has swapped arguments. Also: ssr_id is available for SH_NODE_BSDF_ANISOTROPIC as well (see `ntree_tag_bsdf_cb`), so why not use it? Maniphest Tasks: T84658 Differential Revision: https://developer.blender.org/D10547 --- source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'source/blender/nodes') diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c index 7ce085d2c82..499f62da683 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c @@ -55,8 +55,13 @@ static int node_shader_gpu_bsdf_anisotropic(GPUMaterial *mat, float use_multi_scatter = (node->custom1 == SHD_GLOSSY_MULTI_GGX) ? 1.0f : 0.0f; - return GPU_stack_link( - mat, node, "node_bsdf_anisotropic", in, out, GPU_constant(&use_multi_scatter)); + return GPU_stack_link(mat, + node, + "node_bsdf_anisotropic", + in, + out, + GPU_constant(&use_multi_scatter), + GPU_constant(&node->ssr_id)); } /* node type definition */ -- cgit v1.2.3