Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/closure/bsdf_microfacet.h
| Show First 20 Lines • Show All 340 Lines • ▼ Show 20 Lines | |||||
| { | { | ||||
| bsdf->extra = NULL; | bsdf->extra = NULL; | ||||
| bsdf->alpha_x = saturatef(bsdf->alpha_x); | bsdf->alpha_x = saturatef(bsdf->alpha_x); | ||||
| bsdf->alpha_y = bsdf->alpha_x; | bsdf->alpha_y = bsdf->alpha_x; | ||||
| bsdf->type = CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; | bsdf->type = CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; | ||||
| return SD_BSDF | SD_BSDF_HAS_EVAL; | return SD_BSDF | SD_BSDF_HAS_EVAL | SD_BSDF_HAS_TRANSMISSION; | ||||
| } | } | ||||
| ccl_device void bsdf_microfacet_ggx_blur(ccl_private ShaderClosure *sc, float roughness) | ccl_device void bsdf_microfacet_ggx_blur(ccl_private ShaderClosure *sc, float roughness) | ||||
| { | { | ||||
| ccl_private MicrofacetBsdf *bsdf = (ccl_private MicrofacetBsdf *)sc; | ccl_private MicrofacetBsdf *bsdf = (ccl_private MicrofacetBsdf *)sc; | ||||
| bsdf->alpha_x = fmaxf(roughness, bsdf->alpha_x); | bsdf->alpha_x = fmaxf(roughness, bsdf->alpha_x); | ||||
| bsdf->alpha_y = fmaxf(roughness, bsdf->alpha_y); | bsdf->alpha_y = fmaxf(roughness, bsdf->alpha_y); | ||||
| ▲ Show 20 Lines • Show All 413 Lines • ▼ Show 20 Lines | |||||
| } | } | ||||
| ccl_device int bsdf_microfacet_beckmann_refraction_setup(ccl_private MicrofacetBsdf *bsdf) | ccl_device int bsdf_microfacet_beckmann_refraction_setup(ccl_private MicrofacetBsdf *bsdf) | ||||
| { | { | ||||
| bsdf->alpha_x = saturatef(bsdf->alpha_x); | bsdf->alpha_x = saturatef(bsdf->alpha_x); | ||||
| bsdf->alpha_y = bsdf->alpha_x; | bsdf->alpha_y = bsdf->alpha_x; | ||||
| bsdf->type = CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; | bsdf->type = CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; | ||||
| return SD_BSDF | SD_BSDF_HAS_EVAL; | return SD_BSDF | SD_BSDF_HAS_EVAL | SD_BSDF_HAS_TRANSMISSION; | ||||
| } | } | ||||
| ccl_device void bsdf_microfacet_beckmann_blur(ccl_private ShaderClosure *sc, float roughness) | ccl_device void bsdf_microfacet_beckmann_blur(ccl_private ShaderClosure *sc, float roughness) | ||||
| { | { | ||||
| ccl_private MicrofacetBsdf *bsdf = (ccl_private MicrofacetBsdf *)sc; | ccl_private MicrofacetBsdf *bsdf = (ccl_private MicrofacetBsdf *)sc; | ||||
| bsdf->alpha_x = fmaxf(roughness, bsdf->alpha_x); | bsdf->alpha_x = fmaxf(roughness, bsdf->alpha_x); | ||||
| bsdf->alpha_y = fmaxf(roughness, bsdf->alpha_y); | bsdf->alpha_y = fmaxf(roughness, bsdf->alpha_y); | ||||
| ▲ Show 20 Lines • Show All 352 Lines • Show Last 20 Lines | |||||