Blender
V3.3
|
Go to the source code of this file.
Functions | |
CCL_NAMESPACE_BEGIN ccl_device void | to_unit_disk (ccl_private float *x, ccl_private float *y) |
ccl_device void | make_orthonormals_tangent (const float3 N, const float3 T, ccl_private float3 *a, ccl_private float3 *b) |
ccl_device_inline void | sample_cos_hemisphere (const float3 N, float randu, float randv, ccl_private float3 *omega_in, ccl_private float *pdf) |
ccl_device_inline void | sample_uniform_hemisphere (const float3 N, float randu, float randv, ccl_private float3 *omega_in, ccl_private float *pdf) |
ccl_device_inline void | sample_uniform_cone (const float3 N, float angle, float randu, float randv, ccl_private float3 *omega_in, ccl_private float *pdf) |
ccl_device_inline float | pdf_uniform_cone (const float3 N, float3 D, float angle) |
ccl_device float3 | sample_uniform_sphere (float u1, float u2) |
ccl_device float2 | concentric_sample_disk (float u1, float u2) |
ccl_device float2 | regular_polygon_sample (float corners, float rotation, float u, float v) |
ccl_device float2 concentric_sample_disk | ( | float | u1, |
float | u2 | ||
) |
Definition at line 107 of file sample/mapping.h.
References Freestyle::a, usdtokens::b(), cosf, M_PI_2_F, M_PI_4_F, make_float2, r, sinf, u1, u2, and zero_float2().
Referenced by camera_sample_aperture().
ccl_device void make_orthonormals_tangent | ( | const float3 | N, |
const float3 | T, | ||
ccl_private float3 * | a, | ||
ccl_private float3 * | b | ||
) |
Definition at line 25 of file sample/mapping.h.
References Freestyle::a, usdtokens::b(), blender::math::cross(), N, blender::math::normalize(), and T.
Referenced by bsdf_ashikhmin_shirley_eval_reflect(), bsdf_ashikhmin_shirley_sample(), bsdf_microfacet_beckmann_eval_reflect(), bsdf_microfacet_beckmann_sample(), bsdf_microfacet_ggx_eval_reflect(), bsdf_microfacet_ggx_sample(), bsdf_microfacet_multi_ggx_eval_reflect(), and bsdf_microfacet_multi_ggx_sample().
ccl_device_inline float pdf_uniform_cone | ( | const float3 | N, |
float3 | D, | ||
float | angle | ||
) |
Definition at line 83 of file sample/mapping.h.
References angle(), cosf, D(), blender::math::dot(), M_1_2PI_F, N, and z.
Definition at line 129 of file sample/mapping.h.
References angle(), cosf, floorf, M_PI_F, make_float2, sinf, sqrtf, v, float2::x, and float2::y.
Referenced by camera_sample_aperture().
ccl_device_inline void sample_cos_hemisphere | ( | const float3 | N, |
float | randu, | ||
float | randv, | ||
ccl_private float3 * | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 35 of file sample/mapping.h.
References B, M_1_PI_F, make_orthonormals(), max, N, sqrtf, T, and to_unit_disk().
Referenced by bsdf_diffuse_sample(), bsdf_principled_diffuse_sample(), bsdf_principled_sheen_sample(), bsdf_translucent_sample(), and subsurface_random_walk().
ccl_device_inline void sample_uniform_cone | ( | const float3 | N, |
float | angle, | ||
float | randu, | ||
float | randv, | ||
ccl_private float3 * | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 63 of file sample/mapping.h.
References angle(), B, cosf, M_1_2PI_F, M_2PI_F, make_orthonormals(), N, r, safe_sqrtf(), sinf, sqr(), T, x, y, and z.
Referenced by bsdf_diffuse_toon_sample(), and bsdf_glossy_toon_sample().
ccl_device_inline void sample_uniform_hemisphere | ( | const float3 | N, |
float | randu, | ||
float | randv, | ||
ccl_private float3 * | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 47 of file sample/mapping.h.
References B, cosf, M_1_PI_F, M_2PI_F, make_orthonormals(), max, N, r, sinf, sqrtf, T, x, y, and z.
Referenced by bsdf_ashikhmin_velvet_sample(), and bsdf_oren_nayar_sample().
ccl_device float3 sample_uniform_sphere | ( | float | u1, |
float | u2 | ||
) |
CCL_NAMESPACE_BEGIN ccl_device void to_unit_disk | ( | ccl_private float * | x, |
ccl_private float * | y | ||
) |
Definition at line 14 of file sample/mapping.h.
References cosf, M_2PI_F, r, sinf, sqrtf, x, and y.
Referenced by ellipse_sample(), and sample_cos_hemisphere().