41 return curve_attribute_float(
kg, sd, desc, dx, dy);
67 return curve_attribute_float2(
kg, sd, desc, dx, dy);
93 return curve_attribute_float3(
kg, sd, desc, dx, dy);
119 return curve_attribute_float4(
kg, sd, desc, dx, dy);
148 if (primitive_is_volume_attribute(sd, desc)) {
149 return volume_attribute_value_to_float(volume_attribute_float4(
kg, sd, desc));
160 if (primitive_is_volume_attribute(sd, desc)) {
161 return volume_attribute_value_to_float3(volume_attribute_float4(
kg, sd, desc));
172 if (primitive_is_volume_attribute(sd, desc)) {
173 return volume_attribute_float4(
kg, sd, desc);
209 *face_id = (int)face_id_f;
255 if (is_curve_primitive) {
256 center = curve_motion_center_location(
kg, sd);
273 int numverts, numkeys;
334 motion_pre = motion_pre - motion_center;
335 motion_post = motion_center - motion_post;
337 return make_float4(motion_pre.
x, motion_pre.
y, motion_post.x, motion_post.y);
NSNotificationCenter * center
CCL_NAMESPACE_BEGIN ccl_device_inline uint subd_triangle_patch(KernelGlobals *kg, const ShaderData *sd)
ccl_device_inline AttributeDescriptor find_attribute(KernelGlobals *kg, const ShaderData *sd, uint id)
ccl_device_inline void object_normal_transform(KernelGlobals *kg, const ShaderData *sd, float3 *N)
ccl_device_inline void object_motion_info(KernelGlobals *kg, int object, int *numsteps, int *numverts, int *numkeys)
ccl_device_inline Transform object_fetch_motion_pass_transform(KernelGlobals *kg, int object, enum ObjectVectorTransform type)
ccl_device_inline void object_position_transform(KernelGlobals *kg, const ShaderData *sd, float3 *P)
@ OBJECT_PASS_MOTION_POST
ccl_device_inline float4 primitive_surface_attribute_float4(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float4 *dx, float4 *dy)
ccl_device_inline float2 primitive_surface_attribute_float2(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float2 *dx, float2 *dy)
ccl_device_inline float3 primitive_uv(KernelGlobals *kg, ShaderData *sd)
ccl_device bool primitive_ptex(KernelGlobals *kg, ShaderData *sd, float2 *uv, int *face_id)
CCL_NAMESPACE_BEGIN ccl_device_inline float primitive_surface_attribute_float(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float *dx, float *dy)
ccl_device_inline float3 primitive_surface_attribute_float3(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float3 *dx, float3 *dy)
ccl_device_inline float4 primitive_motion_vector(KernelGlobals *kg, ShaderData *sd)
ccl_device float3 primitive_tangent(KernelGlobals *kg, ShaderData *sd)
ccl_device_noinline float2 subd_triangle_attribute_float2(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float2 *dx, float2 *dy)
ccl_device_noinline float subd_triangle_attribute_float(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float *dx, float *dy)
ccl_device_noinline float3 subd_triangle_attribute_float3(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float3 *dx, float3 *dy)
ccl_device_noinline float4 subd_triangle_attribute_float4(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float4 *dx, float4 *dy)
ccl_device float triangle_attribute_float(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float *dx, float *dy)
ccl_device float2 triangle_attribute_float2(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float2 *dx, float2 *dy)
ccl_device float3 triangle_attribute_float3(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float3 *dx, float3 *dy)
ccl_device float4 triangle_attribute_float4(KernelGlobals *kg, const ShaderData *sd, const AttributeDescriptor desc, float4 *dx, float4 *dy)
#define ccl_device_inline
#define CCL_NAMESPACE_END
#define make_float2(x, y)
#define make_float4(x, y, z, w)
#define make_float3(x, y, z)
ccl_device_inline float2 direction_to_panorama(ccl_constant KernelCamera *cam, float3 dir)
@ ATTR_STD_MOTION_VERTEX_POSITION
@ SD_OBJECT_TRANSFORM_APPLIED
@ SD_OBJECT_HAS_VERTEX_MOTION
__forceinline avxf cross(const avxf &a, const avxf &b)
ccl_device_inline float3 float2_to_float3(const float2 a)
ccl_device_inline float2 normalize(const float2 &a)
ccl_device_inline float3 transform_perspective(const ProjectionTransform *t, const float3 a)