|
Blender
V2.93
|
Go to the source code of this file.
Classes | |
| struct | HenyeyGreensteinVolume |
Typedefs | |
| typedef ccl_addr_space struct HenyeyGreensteinVolume | HenyeyGreensteinVolume |
| typedef ccl_addr_space struct HenyeyGreensteinVolume HenyeyGreensteinVolume |
| ccl_device float3 henyey_greenstrein_sample | ( | float3 | D, |
| float | g, | ||
| float | randu, | ||
| float | randv, | ||
| float * | |||
| ) |
Definition at line 94 of file kernel/closure/volume.h.
References B, cosf, D(), fabsf, 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 volume_henyey_greenstein_sample().
| ccl_device float single_peaked_henyey_greenstein | ( | float | cos_theta, |
| float | g | ||
| ) |
Definition at line 49 of file kernel/closure/volume.h.
References M_1_PI_F, and safe_powf().
Referenced by henyey_greenstrein_sample(), and volume_henyey_greenstein_eval_phase().
| CCL_NAMESPACE_BEGIN ccl_device void volume_extinction_setup | ( | ShaderData * | sd, |
| float3 | weight | ||
| ) |
Definition at line 24 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 | ( | const ShaderClosure * | sc, |
| const float3 | I, | ||
| float3 | omega_in, | ||
| float * | |||
| ) |
Definition at line 73 of file kernel/closure/volume.h.
References dot(), fabsf, HenyeyGreensteinVolume::g, I, M_1_PI_F, make_float3, and single_peaked_henyey_greenstein().
Referenced by bsdf_eval(), and volume_phase_eval().
| ccl_device bool volume_henyey_greenstein_merge | ( | const ShaderClosure * | a, |
| const ShaderClosure * | b | ||
| ) |
Definition at line 65 of file kernel/closure/volume.h.
References Freestyle::a, and HenyeyGreensteinVolume::g.
Referenced by bsdf_merge().
| ccl_device int volume_henyey_greenstein_sample | ( | const ShaderClosure * | sc, |
| float3 | I, | ||
| float3 | dIdx, | ||
| float3 | dIdy, | ||
| float | randu, | ||
| float | randv, | ||
| float3 * | eval, | ||
| float3 * | omega_in, | ||
| float3 * | domega_in_dx, | ||
| float3 * | domega_in_dy, | ||
| float * | |||
| ) |
Definition at line 125 of file kernel/closure/volume.h.
References HenyeyGreensteinVolume::g, henyey_greenstrein_sample(), I, LABEL_VOLUME_SCATTER, and make_float3.
Referenced by bsdf_sample(), and volume_phase_sample().
| ccl_device int volume_henyey_greenstein_setup | ( | HenyeyGreensteinVolume * | volume | ) |
Definition at line 55 of file kernel/closure/volume.h.
References CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID, fabsf, HenyeyGreensteinVolume::g, min, SD_SCATTER, and signf().
Referenced by VolumeHenyeyGreensteinClosure::setup(), svm_node_closure_volume(), and svm_node_principled_volume().
| ccl_device float3 volume_phase_eval | ( | const ShaderData * | sd, |
| const ShaderClosure * | sc, | ||
| float3 | omega_in, | ||
| float * | |||
| ) |
Definition at line 155 of file kernel/closure/volume.h.
References CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID, kernel_assert, and volume_henyey_greenstein_eval_phase().
| ccl_device int volume_phase_sample | ( | const ShaderData * | sd, |
| const ShaderClosure * | sc, | ||
| float | randu, | ||
| float | randv, | ||
| float3 * | eval, | ||
| float3 * | omega_in, | ||
| differential3 * | domega_in, | ||
| float * | |||
| ) |
Definition at line 165 of file kernel/closure/volume.h.
References CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID, differential3::dx, differential3::dy, label, LABEL_NONE, make_float3, and volume_henyey_greenstein_sample().