Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | HenyeyGreensteinVolume |
Macros | |
#define | VOLUME_THROUGHPUT_EPSILON 1e-6f |
Typedefs | |
typedef struct HenyeyGreensteinVolume | HenyeyGreensteinVolume |
Definition at line 165 of file kernel/closure/volume.h.
typedef struct HenyeyGreensteinVolume HenyeyGreensteinVolume |
ccl_device float3 henyey_greenstrein_sample | ( | float3 | D, |
float | g, | ||
float | randu, | ||
float | randv, | ||
ccl_private float * | |||
) |
Definition at line 71 of file kernel/closure/volume.h.
References B, cosf, D(), fabsf, usdtokens::g(), M_1_PI_F, M_2PI_F, make_float3, make_orthonormals(), safe_sqrtf(), sinf, single_peaked_henyey_greenstein(), T, float3::x, float3::y, and float3::z.
Referenced by subsurface_random_walk(), and volume_henyey_greenstein_sample().
ccl_device float single_peaked_henyey_greenstein | ( | float | cos_theta, |
float | g | ||
) |
Definition at line 35 of file kernel/closure/volume.h.
References usdtokens::g(), M_1_PI_F, and safe_powf().
Referenced by henyey_greenstrein_sample(), subsurface_random_walk(), and volume_henyey_greenstein_eval_phase().
ccl_device float volume_channel_get | ( | float3 | value, |
int | channel | ||
) |
Definition at line 172 of file kernel/closure/volume.h.
References float3::x, float3::y, and float3::z.
Referenced by subsurface_random_walk().
ccl_device float3 volume_color_transmittance | ( | float3 | sigma, |
float | t | ||
) |
Definition at line 167 of file kernel/closure/volume.h.
Referenced by subsurface_random_walk_pdf().
CCL_NAMESPACE_BEGIN ccl_device void volume_extinction_setup | ( | ccl_private ShaderData * | sd, |
float3 | weight | ||
) |
Definition at line 10 of file kernel/closure/volume.h.
References SD_EXTINCTION.
Referenced by VolumeAbsorptionClosure::setup(), VolumeHenyeyGreensteinClosure::setup(), svm_node_closure_volume(), and svm_node_principled_volume().
ccl_device float3 volume_henyey_greenstein_eval_phase | ( | ccl_private const ShaderVolumeClosure * | svc, |
const float3 | I, | ||
float3 | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 51 of file kernel/closure/volume.h.
References blender::math::dot(), fabsf, usdtokens::g(), I, M_1_PI_F, make_float3, and single_peaked_henyey_greenstein().
Referenced by volume_phase_eval().
ccl_device int volume_henyey_greenstein_sample | ( | ccl_private const ShaderVolumeClosure * | svc, |
float3 | I, | ||
float3 | dIdx, | ||
float3 | dIdy, | ||
float | randu, | ||
float | randv, | ||
ccl_private float3 * | eval, | ||
ccl_private float3 * | omega_in, | ||
ccl_private float3 * | domega_in_dx, | ||
ccl_private float3 * | domega_in_dy, | ||
ccl_private float * | |||
) |
Definition at line 102 of file kernel/closure/volume.h.
References usdtokens::g(), henyey_greenstrein_sample(), I, LABEL_VOLUME_SCATTER, and make_float3.
Referenced by volume_phase_sample().
ccl_device int volume_henyey_greenstein_setup | ( | ccl_private HenyeyGreensteinVolume * | volume | ) |
Definition at line 41 of file kernel/closure/volume.h.
References CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID, fabsf, min, SD_SCATTER, and signf().
Referenced by VolumeHenyeyGreensteinClosure::setup(), svm_node_closure_volume(), and svm_node_principled_volume().
ccl_device float3 volume_phase_eval | ( | ccl_private const ShaderData * | sd, |
ccl_private const ShaderVolumeClosure * | svc, | ||
float3 | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 131 of file kernel/closure/volume.h.
References volume_henyey_greenstein_eval_phase().
ccl_device int volume_phase_sample | ( | ccl_private const ShaderData * | sd, |
ccl_private const ShaderVolumeClosure * | svc, | ||
float | randu, | ||
float | randv, | ||
ccl_private float3 * | eval, | ||
ccl_private float3 * | omega_in, | ||
ccl_private differential3 * | domega_in, | ||
ccl_private float * | |||
) |
Definition at line 139 of file kernel/closure/volume.h.
References volume_henyey_greenstein_sample().
ccl_device int volume_sample_channel | ( | float3 | albedo, |
float3 | throughput, | ||
float | rand, | ||
ccl_private float3 * | |||
) |
Definition at line 177 of file kernel/closure/volume.h.
References fabs(), make_float3, float3::x, x, float3::y, and float3::z.
Referenced by subsurface_random_walk().