Blender V4.3
volume_util.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device float3 phase_sample_direction (float3 D, float cos_theta, float rand)
 
ccl_device float phase_henyey_greenstein (float cos_theta, float g)
 
ccl_device float3 phase_henyey_greenstein_sample (float3 D, float g, float2 rand, ccl_private float *pdf)
 
ccl_device float phase_rayleigh (float cos_theta)
 
ccl_device float3 phase_rayleigh_sample (float3 D, float2 rand, ccl_private float *pdf)
 
ccl_device float phase_draine (float cos_theta, float g, float alpha)
 
ccl_device float phase_draine_sample_cos (float g, float alpha, float rand)
 
ccl_device float3 phase_draine_sample (float3 D, float g, float alpha, float2 rand, ccl_private float *pdf)
 
ccl_device float phase_fournier_forand_delta (float n, float sin_htheta_sqr)
 
ccl_device_inline float3 phase_fournier_forand_coeffs (float B, float IOR)
 
ccl_device_inline float phase_fournier_forand_impl (float cos_theta, float delta, float pow_delta_v, float v, float sin_htheta_sqr, float pf_coeff)
 
ccl_device float phase_fournier_forand (float cos_theta, float3 coeffs)
 
ccl_device float phase_fournier_forand_newton (float rand, float3 coeffs)
 
ccl_device float3 phase_fournier_forand_sample (float3 D, float3 coeffs, float2 rand, ccl_private float *pdf)
 

Function Documentation

◆ phase_draine()

ccl_device float phase_draine ( float cos_theta,
float g,
float alpha )

◆ phase_draine_sample()

◆ phase_draine_sample_cos()

ccl_device float phase_draine_sample_cos ( float g,
float alpha,
float rand )

Definition at line 95 of file volume_util.h.

References fabsf, fast_inv_cbrtf(), sqr(), sqrtf, T10, T2, T3, T4, T5, T6, T7, T8, and T9.

Referenced by phase_draine_sample().

◆ phase_fournier_forand()

◆ phase_fournier_forand_coeffs()

ccl_device_inline float3 phase_fournier_forand_coeffs ( float B,
float IOR )

Definition at line 146 of file volume_util.h.

References B, logf, make_float3(), phase_fournier_forand_delta(), powf, and v.

Referenced by volume_fournier_forand_setup().

◆ phase_fournier_forand_delta()

ccl_device float phase_fournier_forand_delta ( float n,
float sin_htheta_sqr )

◆ phase_fournier_forand_impl()

ccl_device_inline float phase_fournier_forand_impl ( float cos_theta,
float delta,
float pow_delta_v,
float v,
float sin_htheta_sqr,
float pf_coeff )

Definition at line 159 of file volume_util.h.

References cos_theta(), fabsf, m_delta, M_PI_F, pf, sqr(), and v.

Referenced by phase_fournier_forand(), and phase_fournier_forand_newton().

◆ phase_fournier_forand_newton()

ccl_device float phase_fournier_forand_newton ( float rand,
float3 coeffs )

◆ phase_fournier_forand_sample()

ccl_device float3 phase_fournier_forand_sample ( float3 D,
float3 coeffs,
float2 rand,
ccl_private float * pdf )

◆ phase_henyey_greenstein()

ccl_device float phase_henyey_greenstein ( float cos_theta,
float g )

◆ phase_henyey_greenstein_sample()

ccl_device float3 phase_henyey_greenstein_sample ( float3 D,
float g,
float2 rand,
ccl_private float * pdf )

◆ phase_rayleigh()

ccl_device float phase_rayleigh ( float cos_theta)

Definition at line 54 of file volume_util.h.

References cos_theta(), and sqr().

Referenced by phase_draine(), phase_rayleigh_sample(), and volume_rayleigh_eval().

◆ phase_rayleigh_sample()

◆ phase_sample_direction()