Blender  V3.3
Classes | Typedefs | Functions
path_state.h File Reference
#include "kernel/sample/pattern.h"

Go to the source code of this file.

Classes

struct  RNGState
 

Typedefs

typedef struct RNGState RNGState
 

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline void path_state_init_queues (IntegratorState state)
 
ccl_device_inline void path_state_init (IntegratorState state, ccl_global const KernelWorkTile *ccl_restrict tile, const int x, const int y)
 
ccl_device_inline void path_state_init_integrator (KernelGlobals kg, IntegratorState state, const int sample, const uint rng_hash)
 
ccl_device_inline void path_state_next (KernelGlobals kg, IntegratorState state, int label)
 
ccl_device_inline uint path_state_ray_visibility (ConstIntegratorState state)
 
ccl_device_inline float path_state_continuation_probability (KernelGlobals kg, ConstIntegratorState state, const uint32_t path_flag)
 
ccl_device_inline bool path_state_ao_bounce (KernelGlobals kg, ConstIntegratorState state)
 
ccl_device_inline void path_state_rng_load (ConstIntegratorState state, ccl_private RNGState *rng_state)
 
ccl_device_inline void shadow_path_state_rng_load (ConstIntegratorShadowState state, ccl_private RNGState *rng_state)
 
ccl_device_inline float path_state_rng_1D (KernelGlobals kg, ccl_private const RNGState *rng_state, int dimension)
 
ccl_device_inline void path_state_rng_2D (KernelGlobals kg, ccl_private const RNGState *rng_state, int dimension, ccl_private float *fx, ccl_private float *fy)
 
ccl_device_inline float path_state_rng_1D_hash (KernelGlobals kg, ccl_private const RNGState *rng_state, uint hash)
 
ccl_device_inline float path_branched_rng_1D (KernelGlobals kg, ccl_private const RNGState *rng_state, int branch, int num_branches, int dimension)
 
ccl_device_inline void path_branched_rng_2D (KernelGlobals kg, ccl_private const RNGState *rng_state, int branch, int num_branches, int dimension, ccl_private float *fx, ccl_private float *fy)
 
ccl_device_inline float path_state_rng_light_termination (KernelGlobals kg, ccl_private const RNGState *state)
 

Typedef Documentation

◆ RNGState

typedef struct RNGState RNGState

Function Documentation

◆ path_branched_rng_1D()

ccl_device_inline float path_branched_rng_1D ( KernelGlobals  kg,
ccl_private const RNGState rng_state,
int  branch,
int  num_branches,
int  dimension 
)

Definition at line 328 of file path_state.h.

References path_rng_1D().

◆ path_branched_rng_2D()

ccl_device_inline void path_branched_rng_2D ( KernelGlobals  kg,
ccl_private const RNGState rng_state,
int  branch,
int  num_branches,
int  dimension,
ccl_private float fx,
ccl_private float fy 
)

Definition at line 340 of file path_state.h.

References path_rng_2D().

◆ path_state_ao_bounce()

ccl_device_inline bool path_state_ao_bounce ( KernelGlobals  kg,
ConstIntegratorState  state 
)

◆ path_state_continuation_probability()

ccl_device_inline float path_state_continuation_probability ( KernelGlobals  kg,
ConstIntegratorState  state,
const uint32_t  path_flag 
)

◆ path_state_init()

ccl_device_inline void path_state_init ( IntegratorState  state,
ccl_global const KernelWorkTile *ccl_restrict  tile,
const int  x,
const int  y 
)

◆ path_state_init_integrator()

ccl_device_inline void path_state_init_integrator ( KernelGlobals  kg,
IntegratorState  state,
const int  sample,
const uint  rng_hash 
)

◆ path_state_init_queues()

CCL_NAMESPACE_BEGIN ccl_device_inline void path_state_init_queues ( IntegratorState  state)

Definition at line 13 of file path_state.h.

References INTEGRATOR_STATE_WRITE, and state.

Referenced by path_state_init(), and PathTraceWorkCPU::render_samples_full_pipeline().

◆ path_state_next()

ccl_device_inline void path_state_next ( KernelGlobals  kg,
IntegratorState  state,
int  label 
)

◆ path_state_ray_visibility()

ccl_device_inline uint path_state_ray_visibility ( ConstIntegratorState  state)

◆ path_state_rng_1D()

ccl_device_inline float path_state_rng_1D ( KernelGlobals  kg,
ccl_private const RNGState rng_state,
int  dimension 
)

◆ path_state_rng_1D_hash()

ccl_device_inline float path_state_rng_1D_hash ( KernelGlobals  kg,
ccl_private const RNGState rng_state,
uint  hash 
)

Definition at line 317 of file path_state.h.

References cmj_hash_simple(), hash, and path_rng_1D().

◆ path_state_rng_2D()

ccl_device_inline void path_state_rng_2D ( KernelGlobals  kg,
ccl_private const RNGState rng_state,
int  dimension,
ccl_private float fx,
ccl_private float fy 
)

◆ path_state_rng_light_termination()

ccl_device_inline float path_state_rng_light_termination ( KernelGlobals  kg,
ccl_private const RNGState state 
)

Definition at line 359 of file path_state.h.

References kernel_data, path_state_rng_1D(), PRNG_LIGHT_TERMINATE, and state.

◆ path_state_rng_load()

ccl_device_inline void path_state_rng_load ( ConstIntegratorState  state,
ccl_private RNGState rng_state 
)

Definition at line 283 of file path_state.h.

References INTEGRATOR_STATE, sample, and state.

Referenced by integrate_surface(), and integrator_intersect_terminate().

◆ shadow_path_state_rng_load()

ccl_device_inline void shadow_path_state_rng_load ( ConstIntegratorShadowState  state,
ccl_private RNGState rng_state 
)

Definition at line 291 of file path_state.h.

References INTEGRATOR_STATE, sample, and state.