diff options
Diffstat (limited to 'source/blender/gpu/shaders/material/gpu_shader_material_glossy.glsl')
-rw-r--r-- | source/blender/gpu/shaders/material/gpu_shader_material_glossy.glsl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_glossy.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_glossy.glsl new file mode 100644 index 00000000000..75cc2e770c5 --- /dev/null +++ b/source/blender/gpu/shaders/material/gpu_shader_material_glossy.glsl @@ -0,0 +1,16 @@ +#ifndef VOLUMETRICS +void node_bsdf_glossy(vec4 color, float roughness, vec3 N, float ssr_id, out Closure result) +{ + N = normalize(N); + vec3 out_spec, ssr_spec; + eevee_closure_glossy( + N, vec3(1.0), vec3(1.0), int(ssr_id), roughness, 1.0, true, out_spec, ssr_spec); + vec3 vN = mat3(ViewMatrix) * N; + result = CLOSURE_DEFAULT; + result.radiance = out_spec * color.rgb; + closure_load_ssr_data(ssr_spec * color.rgb, roughness, N, viewCameraVec, int(ssr_id), result); +} +#else +/* Stub glossy because it is not compatible with volumetrics. */ +# define node_bsdf_glossy +#endif |