#ifndef VOLUMETRICS void node_eevee_specular(vec4 diffuse, vec4 specular, float roughness, vec4 emissive, float transp, vec3 normal, float clearcoat, float clearcoat_roughness, vec3 clearcoat_normal, float occlusion, float ssr_id, out Closure result) { normal = normalize(normal); vec3 out_diff, out_spec, ssr_spec; eevee_closure_default_clearcoat(normal, diffuse.rgb, specular.rgb, vec3(1.0), int(ssr_id), roughness, clearcoat_normal, clearcoat * 0.25, clearcoat_roughness, occlusion, true, out_diff, out_spec, ssr_spec); float alpha = 1.0 - transp; result = CLOSURE_DEFAULT; result.radiance = out_diff * diffuse.rgb + out_spec + emissive.rgb; result.radiance *= alpha; result.transmittance = vec3(transp); closure_load_ssr_data(ssr_spec * alpha, roughness, normal, viewCameraVec, int(ssr_id), result); } #endif