65 #ifdef __OBJECT_MOTION__
86 Transform tfm = object_fetch_transform_motion(kg,
object,
time);
108 #ifdef __OBJECT_MOTION__
120 #ifdef __OBJECT_MOTION__
134 #ifdef __OBJECT_MOTION__
151 #ifdef __OBJECT_MOTION__
168 #ifdef __OBJECT_MOTION__
193 #ifdef __OBJECT_MOTION__
210 #ifdef __OBJECT_MOTION__
227 #ifdef __OBJECT_MOTION__
245 #ifdef __OBJECT_MOTION__
247 return make_float3(sd->ob_tfm_motion.x.w, sd->ob_tfm_motion.y.w, sd->ob_tfm_motion.z.w);
263 return make_float3(kobject->color[0], kobject->color[1], kobject->color[2]);
345 kobject->dupli_generated[0], kobject->dupli_generated[1], kobject->dupli_generated[2]);
356 return make_float3(kobject->dupli_uv[0], kobject->dupli_uv[1], 0.0f);
478 const float ooeps = 8.271806E-25f;
506 #ifdef __OBJECT_MOTION__
517 object_fetch_transform_motion_test(kg,
object, ray->time, &tfm);
542 #define object_position_transform_auto object_position_transform
543 #define object_dir_transform_auto object_dir_transform
544 #define object_normal_transform_auto object_normal_transform
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
btMatrix3x3 inverse() const
Return the inverse of the matrix.
#define ccl_device_inline
#define CCL_NAMESPACE_END
const KernelGlobalsCPU *ccl_restrict KernelGlobals
#define kernel_data_fetch(name, index)
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
ccl_device_inline void bvh_instance_push(KernelGlobals kg, int object, ccl_private const Ray *ray, ccl_private float3 *P, ccl_private float3 *dir, ccl_private float3 *idir)
ccl_device_inline float3 bvh_clamp_direction(float3 dir)
ccl_device_inline float object_pass_id(KernelGlobals kg, int object)
ccl_device_inline void bvh_instance_pop(ccl_private const Ray *ray, ccl_private float3 *P, ccl_private float3 *dir, ccl_private float3 *idir)
ccl_device_inline float object_alpha(KernelGlobals kg, int object)
@ OBJECT_INVERSE_TRANSFORM
ccl_device float particle_age(KernelGlobals kg, int particle)
ccl_device float4 particle_rotation(KernelGlobals kg, int particle)
ccl_device_inline uint particle_index(KernelGlobals kg, int particle)
ccl_device_inline void object_motion_info(KernelGlobals kg, int object, ccl_private int *numsteps, ccl_private int *numverts, ccl_private int *numkeys)
ccl_device_inline float3 object_location(KernelGlobals kg, ccl_private const ShaderData *sd)
ccl_device_inline float object_volume_density(KernelGlobals kg, int object)
ccl_device_inline float3 bvh_inverse_direction(float3 dir)
ccl_device_inline float object_random_number(KernelGlobals kg, int object)
ccl_device float particle_lifetime(KernelGlobals kg, int particle)
ccl_device_inline void object_position_transform(KernelGlobals kg, ccl_private const ShaderData *sd, ccl_private float3 *P)
ccl_device float3 particle_angular_velocity(KernelGlobals kg, int particle)
ccl_device_inline int object_particle_id(KernelGlobals kg, int object)
ccl_device_inline float3 object_color(KernelGlobals kg, int object)
ccl_device_inline float object_cryptomatte_asset_id(KernelGlobals kg, int object)
ccl_device_inline void object_inverse_dir_transform(KernelGlobals kg, ccl_private const ShaderData *sd, ccl_private float3 *D)
ccl_device_inline Transform object_fetch_motion_pass_transform(KernelGlobals kg, int object, enum ObjectVectorTransform type)
ccl_device_inline Transform object_get_transform(KernelGlobals kg, ccl_private const ShaderData *sd)
ccl_device_inline float lamp_random_number(KernelGlobals kg, int lamp)
ccl_device_inline uint object_patch_map_offset(KernelGlobals kg, int object)
ccl_device_inline void object_inverse_position_transform(KernelGlobals kg, ccl_private const ShaderData *sd, ccl_private float3 *P)
ccl_device int shader_pass_id(KernelGlobals kg, ccl_private const ShaderData *sd)
ccl_device_inline Transform object_fetch_transform(KernelGlobals kg, int object, enum ObjectTransform type)
ccl_device_inline int lamp_lightgroup(KernelGlobals kg, int lamp)
ccl_device float3 particle_velocity(KernelGlobals kg, int particle)
ccl_device_inline float object_cryptomatte_id(KernelGlobals kg, int object)
ccl_device float3 particle_location(KernelGlobals kg, int particle)
ccl_device_inline void object_dir_transform(KernelGlobals kg, ccl_private const ShaderData *sd, ccl_private float3 *D)
ccl_device float particle_size(KernelGlobals kg, int particle)
ccl_device_inline Transform lamp_fetch_transform(KernelGlobals kg, int lamp, bool inverse)
ccl_device_inline float object_volume_step_size(KernelGlobals kg, int object)
ccl_device_inline float3 object_dupli_generated(KernelGlobals kg, int object)
ccl_device_inline void object_inverse_normal_transform(KernelGlobals kg, ccl_private const ShaderData *sd, ccl_private float3 *N)
ccl_device_inline float3 object_dupli_uv(KernelGlobals kg, int object)
ccl_device_inline int object_lightgroup(KernelGlobals kg, int object)
@ OBJECT_PASS_MOTION_POST
ccl_device_inline void object_normal_transform(KernelGlobals kg, ccl_private const ShaderData *sd, ccl_private float3 *N)
ccl_device_inline Transform object_get_inverse_transform(KernelGlobals kg, ccl_private const ShaderData *sd)
#define OBJECT_MOTION_PASS_SIZE
ccl_device_inline float3 rcp(const float3 &a)
vec_base< T, Size > normalize(const vec_base< T, Size > &v)
ccl_device_inline float3 float4_to_float3(const float4 a)
BLI_INLINE float D(const float *data, const int res[3], int x, int y, int z)