Blender V4.3
path_state.h File Reference

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_pixel)
 
ccl_device_inline void path_state_next (KernelGlobals kg, IntegratorState state, const int label, const int shader_flag)
 
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 void path_state_rng_scramble (ccl_private RNGState *rng_state, const int seed)
 
ccl_device_inline float path_state_rng_1D (KernelGlobals kg, ccl_private const RNGState *rng_state, const int dimension)
 
ccl_device_inline float2 path_state_rng_2D (KernelGlobals kg, ccl_private const RNGState *rng_state, const int dimension)
 
ccl_device_inline float3 path_state_rng_3D (KernelGlobals kg, ccl_private const RNGState *rng_state, const int dimension)
 
ccl_device_inline float path_branched_rng_1D (KernelGlobals kg, ccl_private const RNGState *rng_state, const int branch, const int num_branches, const int dimension)
 
ccl_device_inline float2 path_branched_rng_2D (KernelGlobals kg, ccl_private const RNGState *rng_state, const int branch, const int num_branches, const int dimension)
 
ccl_device_inline float3 path_branched_rng_3D (KernelGlobals kg, ccl_private const RNGState *rng_state, const int branch, const int num_branches, const int dimension)
 
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,
const int branch,
const int num_branches,
const int dimension )

Definition at line 363 of file path_state.h.

References path_rng_1D().

◆ path_branched_rng_2D()

ccl_device_inline float2 path_branched_rng_2D ( KernelGlobals kg,
ccl_private const RNGState * rng_state,
const int branch,
const int num_branches,
const int dimension )

Definition at line 375 of file path_state.h.

References path_rng_2D().

◆ path_branched_rng_3D()

ccl_device_inline float3 path_branched_rng_3D ( KernelGlobals kg,
ccl_private const RNGState * rng_state,
const int branch,
const int num_branches,
const int dimension )

Definition at line 387 of file path_state.h.

References path_rng_3D().

◆ path_state_ao_bounce()

◆ path_state_continuation_probability()

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

◆ path_state_init()

◆ path_state_init_integrator()

◆ path_state_init_queues()

CCL_NAMESPACE_BEGIN ccl_device_inline void path_state_init_queues ( IntegratorState state)

Definition at line 14 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()

◆ path_state_ray_visibility()

◆ path_state_rng_1D()

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

Definition at line 339 of file path_state.h.

References path_rng_1D().

Referenced by integrator_intersect_terminate(), and path_state_rng_light_termination().

◆ path_state_rng_2D()

ccl_device_inline float2 path_state_rng_2D ( KernelGlobals kg,
ccl_private const RNGState * rng_state,
const int dimension )

Definition at line 347 of file path_state.h.

References path_rng_2D().

◆ path_state_rng_3D()

ccl_device_inline float3 path_state_rng_3D ( KernelGlobals kg,
ccl_private const RNGState * rng_state,
const int dimension )

Definition at line 355 of file path_state.h.

References path_rng_3D().

Referenced by integrate_surface_bsdf_bssrdf_bounce(), and integrate_surface_direct_light().

◆ path_state_rng_light_termination()

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

Definition at line 402 of file path_state.h.

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

Referenced by integrate_surface_direct_light().

◆ path_state_rng_load()

ccl_device_inline void path_state_rng_load ( ConstIntegratorState state,
ccl_private RNGState * rng_state )

Definition at line 315 of file path_state.h.

References INTEGRATOR_STATE, RNGState::rng_pixel, sample, and state.

Referenced by integrate_surface(), and integrator_intersect_terminate().

◆ path_state_rng_scramble()

ccl_device_inline void path_state_rng_scramble ( ccl_private RNGState * rng_state,
const int seed )

Definition at line 331 of file path_state.h.

References hash_hp_seeded_uint(), and seed.

◆ shadow_path_state_rng_load()

ccl_device_inline void shadow_path_state_rng_load ( ConstIntegratorShadowState state,
ccl_private RNGState * rng_state )

Definition at line 323 of file path_state.h.

References INTEGRATOR_STATE, sample, and state.