Fix #36741: cycles AO pass giving values > 1.0 with transparency.

This commit is contained in:
Brecht Van Lommel
2013-09-17 13:22:42 +00:00
parent 29b546fe7f
commit edde749850
4 changed files with 20 additions and 7 deletions

View File

@@ -602,6 +602,16 @@ __device float3 shader_bsdf_transparency(KernelGlobals *kg, ShaderData *sd)
#endif
}
__device float3 shader_bsdf_alpha(KernelGlobals *kg, ShaderData *sd)
{
float3 alpha = make_float3(1.0f, 1.0f, 1.0f) - shader_bsdf_transparency(kg, sd);
alpha = max(alpha, make_float3(0.0f, 0.0f, 0.0f));
alpha = min(alpha, make_float3(1.0f, 1.0f, 1.0f));
return alpha;
}
__device float3 shader_bsdf_diffuse(KernelGlobals *kg, ShaderData *sd)
{
#ifdef __MULTI_CLOSURE__