13template<u
int node_feature_mask,
typename ConstIntegratorGenericState>
15 ConstIntegratorGenericState
state,
19 const uint out_offset,
20 const uint32_t path_flag)
53 info = sd->ray_length;
113 uint strength_offset;
120 if (sd->ray_length ==
FLT_MAX) {
127 const uint type = node.
y;
133 strength *= sd->ray_length;
136 strength *= sd->ray_length * sd->ray_length;
143 const float squared = sd->ray_length * sd->ray_length;
144 strength *= squared / (smooth + squared);
ccl_device_inline float stack_load_float(const ccl_private float *stack, const uint a)
ccl_device_inline void stack_store_float(ccl_private float *stack, const uint a, const float f)
ccl_device_forceinline void svm_unpack_node_uchar3(const uint i, ccl_private uint *x, ccl_private uint *y, ccl_private uint *z)
#define IF_KERNEL_NODES_FEATURE(feature)
const ThreadKernelGlobalsCPU * KernelGlobals
#define ccl_device_noinline
#define CCL_NAMESPACE_END
@ NODE_LP_ray_transmission
@ NODE_LP_ray_transparent
@ NODE_LIGHT_FALLOFF_QUADRATIC
@ NODE_LIGHT_FALLOFF_LINEAR
@ NODE_LIGHT_FALLOFF_CONSTANT
@ PATH_RAY_VOLUME_SCATTER
CCL_NAMESPACE_BEGIN ccl_device_noinline void svm_node_light_path(KernelGlobals kg, ConstIntegratorGenericState state, const ccl_private ShaderData *sd, ccl_private float *stack, const uint type, const uint out_offset, const uint32_t path_flag)
ccl_device_noinline void svm_node_light_falloff(ccl_private ShaderData *sd, ccl_private float *stack, const uint4 node)
ccl_device_inline int integrator_state_bounce(ConstIntegratorState state, const int)
ccl_device_inline int integrator_state_transmission_bounce(ConstIntegratorState state, const int)
ccl_device_inline int integrator_state_transparent_bounce(ConstIntegratorState state, const int)
ccl_device_inline int integrator_state_glossy_bounce(ConstIntegratorState state, const int)
ccl_device_inline int integrator_state_diffuse_bounce(ConstIntegratorState state, const int)
ccl_device_inline int integrator_state_portal_bounce(KernelGlobals kg, ConstIntegratorState state, const int)