33 if (
step == numsteps) {
40 if (
step > numsteps) {
44 offset +=
step * numverts;
64 const int maxstep = numsteps * 2;
65 const int step =
min((
int)(time * maxstep), maxstep - 1);
66 const float t = time * maxstep -
step;
75 motion_curve_keys_for_step_linear(kg, offset, numverts, numsteps,
step, k0, k1, keys);
76 motion_curve_keys_for_step_linear(kg, offset, numverts, numsteps,
step + 1, k0, k1, next_keys);
79 keys[0] = (1.0f - t) * keys[0] + t * next_keys[0];
80 keys[1] = (1.0f - t) * keys[1] + t * next_keys[1];
94 if (
step == numsteps) {
103 if (
step > numsteps) {
107 offset +=
step * numverts;
131 const int maxstep = numsteps * 2;
132 const int step =
min((
int)(time * maxstep), maxstep - 1);
133 const float t = time * maxstep -
step;
142 motion_curve_keys_for_step(kg, offset, numverts, numsteps,
step, k0, k1, k2, k3, keys);
143 motion_curve_keys_for_step(kg, offset, numverts, numsteps,
step + 1, k0, k1, k2, k3, next_keys);
146 keys[0] = (1.0f - t) * keys[0] + t * next_keys[0];
147 keys[1] = (1.0f - t) * keys[1] + t * next_keys[1];
148 keys[2] = (1.0f - t) * keys[2] + t * next_keys[2];
149 keys[3] = (1.0f - t) * keys[3] + t * next_keys[3];
ccl_device_inline int intersection_find_attribute(KernelGlobals kg, const int object, const uint id)
#define kernel_assert(cond)
#define kernel_data_fetch(name, index)
const ThreadKernelGlobalsCPU * KernelGlobals
#define ccl_device_inline
#define CCL_NAMESPACE_END
VecBase< float, D > step(VecOp< float, D >, VecOp< float, D >) RET
@ ATTR_STD_MOTION_VERTEX_POSITION