Blender
V3.3
|
Go to the source code of this file.
Macros | |
#define | SUBSURFACE_RANDOM_WALK_SIMILARITY_LEVEL 9 |
#define SUBSURFACE_RANDOM_WALK_SIMILARITY_LEVEL 9 |
Definition at line 168 of file subsurface_random_walk.h.
ccl_device_forceinline float diffusion_length_dwivedi | ( | float | alpha | ) |
Definition at line 137 of file subsurface_random_walk.h.
Referenced by subsurface_random_walk().
ccl_device_forceinline float3 direction_from_cosine | ( | float3 | D, |
float | cos_theta, | ||
float | randv | ||
) |
Definition at line 143 of file subsurface_random_walk.h.
References B, cosf, D(), M_2PI_F, make_float3, make_orthonormals(), safe_sqrtf(), sinf, T, float3::x, float3::y, and float3::z.
Referenced by subsurface_random_walk().
ccl_device_forceinline float eval_phase_dwivedi | ( | float | v, |
float | phase_log, | ||
float | cos_theta | ||
) |
Definition at line 123 of file subsurface_random_walk.h.
References v.
Referenced by subsurface_random_walk().
ccl_device_forceinline float sample_phase_dwivedi | ( | float | v, |
float | phase_log, | ||
float | rand | ||
) |
Definition at line 129 of file subsurface_random_walk.h.
Referenced by subsurface_random_walk().
ccl_device_inline bool subsurface_random_walk | ( | KernelGlobals | kg, |
IntegratorState | state, | ||
RNGState | rng_state, | ||
ccl_private Ray & | ray, | ||
ccl_private LocalIntersection & | ss_isect | ||
) |
Definition at line 170 of file subsurface_random_walk.h.
References BSSRDF_MAX_BOUNCES, blender::math::clamp(), cmj_hash(), D(), differential_zero_compact(), diffusion_length_dwivedi(), direction_from_cosine(), blender::math::dot(), eval_phase_dwivedi(), expf, fabsf, fmaxf, henyey_greenstrein_sample(), INTEGRATOR_STATE, INTEGRATOR_STATE_WRITE, isfinite_safe(), kernel_assert, logf, M_1_2PI_F, max, mix, N, NULL, OBJECT_NONE, P(), path_state_rng_1D(), path_state_rng_2D(), powf, PRIM_NONE, PRNG_BOUNCE_NUM, PRNG_BSDF_U, PRNG_LIGHT_TERMINATE, PRNG_PHASE_CHANNEL, PRNG_SCATTER_DISTANCE, PRNG_TERMINATE, reduce_max(), reduce_min(), RNGState::rng_hash, RNGState::rng_offset, sample_cos_hemisphere(), sample_phase_dwivedi(), single_peaked_henyey_greenstein(), state, subsurface_random_walk_coefficients(), subsurface_random_walk_pdf(), SUBSURFACE_RANDOM_WALK_SIMILARITY_LEVEL, t, time, volume_channel_get(), volume_sample_channel(), VOLUME_THROUGHPUT_EPSILON, float3::x, x, float3::y, and float3::z.
ccl_device void subsurface_random_walk_coefficients | ( | const float3 | albedo, |
const float3 | radius, | ||
const float | anisotropy, | ||
ccl_private float3 * | sigma_t, | ||
ccl_private float3 * | alpha, | ||
ccl_private float3 * | throughput | ||
) |
Definition at line 68 of file subsurface_random_walk.h.
References make_float3, safe_divide_color(), subsurface_random_walk_remap(), float3::x, float3::y, and float3::z.
Referenced by subsurface_random_walk().
ccl_device_forceinline float3 subsurface_random_walk_pdf | ( | float3 | sigma_t, |
float | t, | ||
bool | hit, | ||
ccl_private float3 * | transmittance | ||
) |
Definition at line 154 of file subsurface_random_walk.h.
References T, t, and volume_color_transmittance().
Referenced by subsurface_random_walk().
CCL_NAMESPACE_BEGIN ccl_device void subsurface_random_walk_remap | ( | const float | albedo, |
const float | d, | ||
float | g, | ||
ccl_private float * | sigma_t, | ||
ccl_private float * | alpha | ||
) |
Definition at line 21 of file subsurface_random_walk.h.
References A, atanf, B, blend(), C, blender::math::clamp(), D(), expf, F, fmaxf, usdtokens::g(), and powf.
Referenced by subsurface_random_walk_coefficients().