Blender V5.0
volume.h File Reference

Go to the source code of this file.

Macros

#define VOLUME_THROUGHPUT_EPSILON   1e-6f

Functions

CCL_NAMESPACE_BEGIN ccl_device void volume_extinction_setup (ccl_private ShaderData *sd, Spectrum weight)
ccl_device Spectrum volume_phase_eval (const ccl_private ShaderData *sd, const ccl_private ShaderVolumeClosure *svc, const float3 wo, ccl_private float *pdf)
ccl_device int volume_phase_sample (const ccl_private ShaderData *sd, const ccl_private ShaderVolumeClosure *svc, const float2 rand, ccl_private Spectrum *eval, ccl_private float3 *wo, ccl_private float *pdf)
ccl_device bool volume_phase_equal (const ccl_private ShaderClosure *c1, const ccl_private ShaderClosure *c2)
ccl_device float volume_phase_get_g (const ccl_private ShaderVolumeClosure *svc)
ccl_device Spectrum volume_color_transmittance (Spectrum sigma, const float t)
ccl_device float volume_channel_get (Spectrum value, const int channel)
ccl_device_inline Spectrum volume_sample_channel_pdf (Spectrum albedo, Spectrum throughput)
ccl_device int volume_sample_channel (Spectrum albedo, Spectrum throughput, ccl_private float *rand, ccl_private Spectrum *pdf)

Macro Definition Documentation

◆ VOLUME_THROUGHPUT_EPSILON

#define VOLUME_THROUGHPUT_EPSILON   1e-6f

Definition at line 132 of file kernel/closure/volume.h.

Function Documentation

◆ volume_channel_get()

ccl_device float volume_channel_get ( Spectrum value,
const int channel )

Definition at line 139 of file kernel/closure/volume.h.

References ccl_device, and GET_SPECTRUM_CHANNEL.

◆ volume_color_transmittance()

ccl_device Spectrum volume_color_transmittance ( Spectrum sigma,
const float t )

Definition at line 134 of file kernel/closure/volume.h.

References ccl_device, and exp.

◆ volume_extinction_setup()

◆ volume_phase_equal()

ccl_device bool volume_phase_equal ( const ccl_private ShaderClosure * c1,
const ccl_private ShaderClosure * c2 )

◆ volume_phase_eval()

◆ volume_phase_get_g()

◆ volume_phase_sample()

◆ volume_sample_channel()

ccl_device int volume_sample_channel ( Spectrum albedo,
Spectrum throughput,
ccl_private float * rand,
ccl_private Spectrum * pdf )

◆ volume_sample_channel_pdf()

ccl_device_inline Spectrum volume_sample_channel_pdf ( Spectrum albedo,
Spectrum throughput )