|
Blender V5.0
|
Go to the source code of this file.
Functions | |
| CCL_NAMESPACE_BEGIN ccl_device int | bsdf_ashikhmin_shirley_setup (ccl_private MicrofacetBsdf *bsdf) |
| ccl_device void | bsdf_ashikhmin_shirley_blur (ccl_private ShaderClosure *sc, const float roughness) |
| ccl_device_inline float | bsdf_ashikhmin_shirley_roughness_to_exponent (const float roughness) |
| ccl_device_forceinline Spectrum | bsdf_ashikhmin_shirley_eval (const ccl_private ShaderClosure *sc, const float3 wi, const float3 wo, ccl_private float *pdf) |
| ccl_device_inline void | bsdf_ashikhmin_shirley_sample_first_quadrant (float n_x, const float n_y, const float2 rand, ccl_private float *phi, ccl_private float *cos_theta) |
| ccl_device int | bsdf_ashikhmin_shirley_sample (const ccl_private ShaderClosure *sc, const float3 Ng, const float3 wi, float2 rand, ccl_private Spectrum *eval, ccl_private float3 *wo, ccl_private float *pdf, ccl_private float2 *sampled_roughness) |
| ccl_device void bsdf_ashikhmin_shirley_blur | ( | ccl_private ShaderClosure * | sc, |
| const float | roughness ) |
Definition at line 35 of file bsdf_ashikhmin_shirley.h.
References MicrofacetBsdf::alpha_x, ccl_device, ccl_private, and fmaxf.
Referenced by bsdf_blur().
| ccl_device_forceinline Spectrum bsdf_ashikhmin_shirley_eval | ( | const ccl_private ShaderClosure * | sc, |
| const float3 | wi, | ||
| const float3 | wo, | ||
| ccl_private float * | pdf ) |
Definition at line 48 of file bsdf_ashikhmin_shirley.h.
References bsdf_ashikhmin_shirley_roughness_to_exponent(), ccl_device_forceinline, ccl_private, dot(), e, fabsf, fmaxf, H, M_PI_F, make_orthonormals_tangent(), make_spectrum, N, norm(), normalize, out, powf, sqrtf, X, Y, and zero_spectrum.
Referenced by bsdf_ashikhmin_shirley_sample(), and bsdf_eval().
| ccl_device_inline float bsdf_ashikhmin_shirley_roughness_to_exponent | ( | const float | roughness | ) |
Definition at line 43 of file bsdf_ashikhmin_shirley.h.
References ccl_device_inline.
Referenced by bsdf_ashikhmin_shirley_eval(), and bsdf_ashikhmin_shirley_sample().
| ccl_device int bsdf_ashikhmin_shirley_sample | ( | const ccl_private ShaderClosure * | sc, |
| const float3 | Ng, | ||
| const float3 | wi, | ||
| float2 | rand, | ||
| ccl_private Spectrum * | eval, | ||
| ccl_private float3 * | wo, | ||
| ccl_private float * | pdf, | ||
| ccl_private float2 * | sampled_roughness ) |
Definition at line 128 of file bsdf_ashikhmin_shirley.h.
References bsdf_ashikhmin_shirley_eval(), bsdf_ashikhmin_shirley_roughness_to_exponent(), bsdf_ashikhmin_shirley_sample_first_quadrant(), ccl_device, ccl_private, cos_theta(), dot(), fmaxf, H, LABEL_GLOSSY, LABEL_NONE, LABEL_REFLECT, LABEL_SINGULAR, M_2PI_F, M_PI_F, make_float2, make_orthonormals(), make_orthonormals_tangent(), make_spectrum, N, powf, spherical_cos_to_direction(), to_global(), X, float2::x, Y, float2::y, and zero_spectrum.
Referenced by bsdf_sample().
| ccl_device_inline void bsdf_ashikhmin_shirley_sample_first_quadrant | ( | float | n_x, |
| const float | n_y, | ||
| const float2 | rand, | ||
| ccl_private float * | phi, | ||
| ccl_private float * | cos_theta ) |
Definition at line 116 of file bsdf_ashikhmin_shirley.h.
References atanf, ccl_device_inline, ccl_private, cos_theta(), cosf, M_PI_2_F, powf, sin_phi(), sinf, sqrtf, tanf, float2::x, and float2::y.
Referenced by bsdf_ashikhmin_shirley_sample().
| CCL_NAMESPACE_BEGIN ccl_device int bsdf_ashikhmin_shirley_setup | ( | ccl_private MicrofacetBsdf * | bsdf | ) |
Definition at line 25 of file bsdf_ashikhmin_shirley.h.
References ccl_device, ccl_private, clamp(), CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, NONE, SD_BSDF, and SD_BSDF_HAS_EVAL.
Referenced by osl_closure_microfacet_setup(), and svm_node_closure_bsdf().