Blender V4.5
volume_util.h File Reference
#include "util/math_fast.h"
#include "util/projection.h"

Go to the source code of this file.

Functions

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

Function Documentation

◆ phase_draine()

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

◆ phase_draine_sample()

◆ phase_draine_sample_cos()

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

◆ phase_fournier_forand()

◆ phase_fournier_forand_coeffs()

ccl_device_inline float3 phase_fournier_forand_coeffs ( const float B,
const float IOR )

◆ phase_fournier_forand_delta()

ccl_device float phase_fournier_forand_delta ( const float n,
const float sin_htheta_sqr )

◆ phase_fournier_forand_impl()

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

◆ phase_fournier_forand_newton()

◆ phase_fournier_forand_sample()

◆ phase_henyey_greenstein()

ccl_device float phase_henyey_greenstein ( const float cos_theta,
const float g )

◆ phase_henyey_greenstein_sample()

◆ phase_mie_fitted_parameters()

ccl_device void phase_mie_fitted_parameters ( float d,
ccl_private float * g_HG,
ccl_private float * g_D,
ccl_private float * alpha,
ccl_private float * w )

◆ phase_rayleigh()

ccl_device float phase_rayleigh ( const float cos_theta)

◆ phase_rayleigh_sample()

◆ phase_sample_direction()