38#ifdef __KERNEL_DEBUG_NAN__
40 kernel_assert(!
"Cycles displacement with non-finite value detected");
63 const float ray_time = 0.5f;
78#ifdef __KERNEL_DEBUG_NAN__
80 kernel_assert(!
"Cycles background with non-finite value detected");
90 output[offset * 3 + 0] += color_rgb.
x;
91 output[offset * 3 + 1] += color_rgb.
y;
92 output[offset * 3 + 2] += color_rgb.
z;
ccl_device float3 equirectangular_to_direction(const float u, const float v)
#define kernel_assert(cond)
#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW
const ThreadKernelGlobalsCPU * KernelGlobals
#define KERNEL_FEATURE_NODE_LIGHT_PATH
#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT
#define KERNEL_FEATURE_NODE_RAYTRACE
#define CCL_NAMESPACE_END
CCL_NAMESPACE_BEGIN ccl_device void displacement_shader_eval(KernelGlobals kg, ConstIntegratorGenericState state, ccl_private ShaderData *sd)
constexpr T clamp(T, U, U) RET
ccl_device void kernel_curve_shadow_transparency_evaluate(KernelGlobals kg, const ccl_global KernelShaderEvalInput *input, ccl_global float *output, const int offset)
CCL_NAMESPACE_BEGIN ccl_device void kernel_displace_evaluate(KernelGlobals kg, const ccl_global KernelShaderEvalInput *input, ccl_global float *output, const int offset)
ccl_device void kernel_background_evaluate(KernelGlobals kg, const ccl_global KernelShaderEvalInput *input, ccl_global float *output, const int offset)
ccl_device_inline void object_inverse_dir_transform(KernelGlobals kg, const ccl_private ShaderData *sd, ccl_private float3 *D)
@ PATH_RAY_IMPORTANCE_BAKE
ccl_device_inline float3 spectrum_to_rgb(Spectrum s)
ccl_device_inline float ensure_finite(const float v)
ccl_device_inline bool isfinite_safe(const float f)
ccl_device_inline float average(const float2 a)
CCL_NAMESPACE_BEGIN ccl_device_inline float3 zero_float3()
ccl_device void shader_setup_from_displace(KernelGlobals kg, ccl_private ShaderData *ccl_restrict sd, const int object, const int prim, const float u, const float v)
ccl_device_inline void shader_setup_from_background(KernelGlobals kg, ccl_private ShaderData *ccl_restrict sd, const float3 ray_P, const float3 ray_D, const float ray_time)
#define INTEGRATOR_STATE_NULL
ccl_device void surface_shader_eval(KernelGlobals kg, ConstIntegratorGenericState state, ccl_private ShaderData *ccl_restrict sd, ccl_global float *ccl_restrict buffer, const uint32_t path_flag, bool use_caustics_storage=false)
ccl_device Spectrum surface_shader_transparency(KernelGlobals kg, const ccl_private ShaderData *sd)
ccl_device Spectrum surface_shader_background(const ccl_private ShaderData *sd)