Blender  V3.3
Macros | Functions
subsurface_random_walk.h File Reference
#include "kernel/camera/projection.h"
#include "kernel/bvh/bvh.h"

Go to the source code of this file.

Macros

#define SUBSURFACE_RANDOM_WALK_SIMILARITY_LEVEL   9
 

Functions

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)
 
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)
 
ccl_device_forceinline float eval_phase_dwivedi (float v, float phase_log, float cos_theta)
 
ccl_device_forceinline float sample_phase_dwivedi (float v, float phase_log, float rand)
 
ccl_device_forceinline float diffusion_length_dwivedi (float alpha)
 
ccl_device_forceinline float3 direction_from_cosine (float3 D, float cos_theta, float randv)
 
ccl_device_forceinline float3 subsurface_random_walk_pdf (float3 sigma_t, float t, bool hit, ccl_private float3 *transmittance)
 
ccl_device_inline bool subsurface_random_walk (KernelGlobals kg, IntegratorState state, RNGState rng_state, ccl_private Ray &ray, ccl_private LocalIntersection &ss_isect)
 

Macro Definition Documentation

◆ SUBSURFACE_RANDOM_WALK_SIMILARITY_LEVEL

#define SUBSURFACE_RANDOM_WALK_SIMILARITY_LEVEL   9

Definition at line 168 of file subsurface_random_walk.h.

Function Documentation

◆ diffusion_length_dwivedi()

ccl_device_forceinline float diffusion_length_dwivedi ( float  alpha)

Definition at line 137 of file subsurface_random_walk.h.

References powf, and sqrtf.

Referenced by subsurface_random_walk().

◆ direction_from_cosine()

ccl_device_forceinline float3 direction_from_cosine ( float3  D,
float  cos_theta,
float  randv 
)

◆ eval_phase_dwivedi()

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().

◆ sample_phase_dwivedi()

ccl_device_forceinline float sample_phase_dwivedi ( float  v,
float  phase_log,
float  rand 
)

Definition at line 129 of file subsurface_random_walk.h.

References expf, and v.

Referenced by subsurface_random_walk().

◆ 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 
)

◆ subsurface_random_walk_coefficients()

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 
)

◆ subsurface_random_walk_pdf()

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().

◆ subsurface_random_walk_remap()

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 
)