37 return ru * uv.
x + rv * uv.
y;
42 return ru * (2.0f * rand.
x - 1.0f) + rv * (2.0f * rand.
y - 1.0f);
57 const float cos_pi =
dot(Ng,
I);
63 return t * t / cos_pi;
dot(value.rgb, luminance_coefficients)") DEFINE_VALUE("REDUCE(lhs
#define ccl_device_inline
#define CCL_NAMESPACE_END
@ PATH_RAY_VOLUME_SCATTER
@ SHADER_EXCLUDE_TRANSMIT
ccl_device_inline float3 ellipse_sample(const float3 ru, const float3 rv, const float2 rand)
ccl_device float3 disk_light_sample(const float3 n, const float2 rand)
ccl_device float light_pdf_area_to_solid_angle(const float3 Ng, const float3 I, const float t)
ccl_device_inline float3 rectangle_sample(const float3 ru, const float3 rv, const float2 rand)
ccl_device_inline bool is_light_shader_visible_to_path(const int shader, const uint32_t path_flag)
ccl_device_inline void make_orthonormals(const float3 N, ccl_private float3 *a, ccl_private float3 *b)
CCL_NAMESPACE_BEGIN ccl_device float2 sample_uniform_disk(const float2 rand)