|
Blender V4.3
|
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, float roughness) |
| ccl_device_inline float | bsdf_ashikhmin_shirley_roughness_to_exponent (float roughness) |
| ccl_device_forceinline Spectrum | bsdf_ashikhmin_shirley_eval (ccl_private const ShaderClosure *sc, const float3 Ng, const float3 wi, const float3 wo, ccl_private float *pdf) |
| ccl_device_inline void | bsdf_ashikhmin_shirley_sample_first_quadrant (float n_x, float n_y, const float2 rand, ccl_private float *phi, ccl_private float *cos_theta) |
| ccl_device int | bsdf_ashikhmin_shirley_sample (ccl_private const ShaderClosure *sc, float3 Ng, 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, |
| float | roughness ) |
Definition at line 31 of file bsdf_ashikhmin_shirley.h.
References MicrofacetBsdf::alpha_x, ccl_private, and fmaxf.
Referenced by bsdf_blur().
| ccl_device_forceinline Spectrum bsdf_ashikhmin_shirley_eval | ( | ccl_private const ShaderClosure * | sc, |
| const float3 | Ng, | ||
| const float3 | wi, | ||
| const float3 | wo, | ||
| ccl_private float * | pdf ) |
Definition at line 44 of file bsdf_ashikhmin_shirley.h.
References bsdf_ashikhmin_shirley_roughness_to_exponent(), ccl_private, dot(), e, fabsf, fmaxf, H, M_PI_F, make_orthonormals_tangent(), make_spectrum, N, norm(), normalize(), 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 | ( | float | roughness | ) |
Definition at line 39 of file bsdf_ashikhmin_shirley.h.
Referenced by bsdf_ashikhmin_shirley_eval(), and bsdf_ashikhmin_shirley_sample().
| ccl_device int bsdf_ashikhmin_shirley_sample | ( | ccl_private const ShaderClosure * | sc, |
| float3 | Ng, | ||
| float3 | wi, | ||
| float2 | rand, | ||
| ccl_private Spectrum * | eval, | ||
| ccl_private float3 * | wo, | ||
| ccl_private float * | pdf, | ||
| ccl_private float2 * | sampled_roughness ) |
Definition at line 124 of file bsdf_ashikhmin_shirley.h.
References bsdf_ashikhmin_shirley_eval(), bsdf_ashikhmin_shirley_roughness_to_exponent(), bsdf_ashikhmin_shirley_sample_first_quadrant(), ccl_private, cos_theta(), cosf, dot(), fmaxf, H, label, LABEL_GLOSSY, LABEL_NONE, LABEL_REFLECT, LABEL_SINGULAR, M_2PI_F, M_PI_F, make_float2(), make_float3(), make_orthonormals(), make_orthonormals_tangent(), make_spectrum, N, powf, sin_phi(), sin_theta(), sinf, sqrtf, X, float2::x, float3::x, Y, float2::y, float3::y, float3::z, and zero_spectrum.
Referenced by bsdf_sample().
| ccl_device_inline void bsdf_ashikhmin_shirley_sample_first_quadrant | ( | float | n_x, |
| float | n_y, | ||
| const float2 | rand, | ||
| ccl_private float * | phi, | ||
| ccl_private float * | cos_theta ) |
Definition at line 115 of file bsdf_ashikhmin_shirley.h.
References atanf, 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 21 of file bsdf_ashikhmin_shirley.h.
References 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().