35#ifdef __KERNEL_DEBUG_NAN__
37 kernel_assert(!
"Cycles displacement with non-finite value detected");
46 output[offset * 3 + 0] += D.x;
47 output[offset * 3 + 1] += D.y;
48 output[offset * 3 + 2] += D.z;
60 const float ray_time = 0.5f;
75#ifdef __KERNEL_DEBUG_NAN__
77 kernel_assert(!
"Cycles background with non-finite value detected");
87 output[offset * 3 + 0] += color_rgb.
x;
88 output[offset * 3 + 1] += color_rgb.
y;
89 output[offset * 3 + 2] += color_rgb.
z;
103 shader_setup_from_curve(kg, &sd, in.object, in.prim,
__float_as_int(in.v), in.u);
ccl_device float3 equirectangular_to_direction(float u, float v)
#define kernel_assert(cond)
const KernelGlobalsCPU *ccl_restrict KernelGlobals
#define CCL_NAMESPACE_END
CCL_NAMESPACE_BEGIN ccl_device void displacement_shader_eval(KernelGlobals kg, ConstIntegratorGenericState state, ccl_private ShaderData *sd)
CCL_NAMESPACE_BEGIN ccl_device void kernel_displace_evaluate(KernelGlobals kg, ccl_global const KernelShaderEvalInput *input, ccl_global float *output, const int offset)
ccl_device void kernel_curve_shadow_transparency_evaluate(KernelGlobals kg, ccl_global const KernelShaderEvalInput *input, ccl_global float *output, const int offset)
ccl_device void kernel_background_evaluate(KernelGlobals kg, ccl_global const KernelShaderEvalInput *input, ccl_global float *output, const int offset)
ccl_device_inline void object_inverse_dir_transform(KernelGlobals kg, ccl_private const ShaderData *sd, ccl_private float3 *D)
#define KERNEL_FEATURE_NODE_MASK_SURFACE_SHADOW
@ PATH_RAY_IMPORTANCE_BAKE
#define KERNEL_FEATURE_NODE_LIGHT_PATH
#define KERNEL_FEATURE_NODE_MASK_SURFACE_LIGHT
#define KERNEL_FEATURE_NODE_RAYTRACE
ccl_device_inline float3 spectrum_to_rgb(Spectrum s)
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, int object, int prim, float u, 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, uint32_t path_flag, bool use_caustics_storage=false)
ccl_device Spectrum surface_shader_transparency(KernelGlobals kg, ccl_private const ShaderData *sd)
ccl_device Spectrum surface_shader_background(ccl_private const ShaderData *sd)
SPECTRUM_DATA_TYPE Spectrum
ccl_device_inline float ensure_finite(float v)
ccl_device_inline bool isfinite_safe(float f)
ccl_device_inline int clamp(int a, int mn, int mx)