23 const uint out_offset)
59 const uint out_offset,
60 const float bump_filter_width)
62#ifdef __RAY_DIFFERENTIALS__
70 const float u_x = sd->u + sd->du.dx * bump_filter_width;
71 const float v_x = sd->v + sd->dv.dx * bump_filter_width;
90 const uint out_offset,
91 const float bump_filter_width)
93#ifdef __RAY_DIFFERENTIALS__
101 const float u_y = sd->u + sd->du.dy * bump_filter_width;
102 const float v_y = sd->v + sd->dv.dy * bump_filter_width;
123 const uint out_offset)
163 const uint out_offset)
193 case NODE_INFO_PAR_ROTATION: {
225 const uint out_offset)
243 data = curve_thickness(kg, sd);
248 data3 = curve_tangent_normal(sd);
264 const uint out_offset)
BMesh const char void * data
ccl_device_inline void stack_store_float(ccl_private float *stack, const uint a, const float f)
ccl_device_inline void stack_store_float3(ccl_private float *stack, const uint a, const float3 f)
const ThreadKernelGlobalsCPU * KernelGlobals
#define ccl_device_noinline
#define CCL_NAMESPACE_END
IMETHOD void random(Vector &a)
addDelta operator for displacement rotational velocity.
ccl_device_inline float hash_uint2_to_float(const uint kx, const uint ky)
ccl_device_inline int object_particle_id(KernelGlobals kg, const int object)
ccl_device int shader_pass_id(KernelGlobals kg, const ccl_private ShaderData *sd)
ccl_device float4 particle_rotation(KernelGlobals kg, const int particle)
ccl_device float3 particle_location(KernelGlobals kg, const int particle)
ccl_device float particle_lifetime(KernelGlobals kg, const int particle)
ccl_device float particle_age(KernelGlobals kg, const int particle)
ccl_device_inline uint particle_index(KernelGlobals kg, const int particle)
ccl_device_inline float3 object_color(KernelGlobals kg, const int object)
ccl_device float3 particle_velocity(KernelGlobals kg, const int particle)
ccl_device_inline float object_alpha(KernelGlobals kg, const int object)
ccl_device float3 particle_angular_velocity(KernelGlobals kg, const int particle)
ccl_device_inline float object_pass_id(KernelGlobals kg, const int object)
ccl_device float particle_size(KernelGlobals kg, const int particle)
ccl_device_inline float3 object_location(KernelGlobals kg, const ccl_private ShaderData *sd)
ccl_device_inline float object_random_number(KernelGlobals kg, const int object)
ccl_device_forceinline float3 svm_node_bump_P_dx(const ccl_private ShaderData *sd, const float bump_filter_width)
ccl_device_forceinline float3 svm_node_bump_P_dy(const ccl_private ShaderData *sd, const float bump_filter_width)
ccl_device_noinline void svm_node_particle_info(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, const uint type, const uint out_offset)
ccl_device_noinline void svm_node_geometry_bump_dy(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, const uint type, const uint out_offset, const float bump_filter_width)
ccl_device_noinline void svm_node_geometry_bump_dx(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, const uint type, const uint out_offset, const float bump_filter_width)
CCL_NAMESPACE_BEGIN ccl_device_noinline void svm_node_geometry(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, const uint type, const uint out_offset)
ccl_device_noinline void svm_node_object_info(KernelGlobals kg, ccl_private ShaderData *sd, ccl_private float *stack, const uint type, const uint out_offset)
@ NODE_INFO_CURVE_IS_STRAND
@ NODE_INFO_CURVE_TANGENT_NORMAL
@ NODE_INFO_CURVE_THICKNESS
@ NODE_INFO_CURVE_INTERCEPT
@ NODE_INFO_PAR_ANGULAR_VELOCITY
@ NODE_INFO_POINT_POSITION
ccl_device float3 primitive_tangent(KernelGlobals kg, ccl_private ShaderData *sd)