Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/geom/motion_curve.h
| Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | ccl_device_inline void motion_curve_keys_for_step_linear(KernelGlobals kg, | ||||
| } | } | ||||
| else { | else { | ||||
| /* center step is not stored in this array */ | /* center step is not stored in this array */ | ||||
| if (step > numsteps) | if (step > numsteps) | ||||
| step--; | step--; | ||||
| offset += step * numkeys; | offset += step * numkeys; | ||||
| keys[0] = kernel_tex_fetch(__attributes_float3, offset + k0); | keys[0] = kernel_tex_fetch(__attributes_float4, offset + k0); | ||||
| keys[1] = kernel_tex_fetch(__attributes_float3, offset + k1); | keys[1] = kernel_tex_fetch(__attributes_float4, offset + k1); | ||||
| } | } | ||||
| } | } | ||||
| /* return 2 curve key locations */ | /* return 2 curve key locations */ | ||||
| ccl_device_inline void motion_curve_keys_linear( | ccl_device_inline void motion_curve_keys_linear( | ||||
| KernelGlobals kg, int object, int prim, float time, int k0, int k1, float4 keys[2]) | KernelGlobals kg, int object, int prim, float time, int k0, int k1, float4 keys[2]) | ||||
| { | { | ||||
| /* get motion info */ | /* get motion info */ | ||||
| Show All 40 Lines | ccl_device_inline void motion_curve_keys_for_step(KernelGlobals kg, | ||||
| } | } | ||||
| else { | else { | ||||
| /* center step is not stored in this array */ | /* center step is not stored in this array */ | ||||
| if (step > numsteps) | if (step > numsteps) | ||||
| step--; | step--; | ||||
| offset += step * numkeys; | offset += step * numkeys; | ||||
| keys[0] = kernel_tex_fetch(__attributes_float3, offset + k0); | keys[0] = kernel_tex_fetch(__attributes_float4, offset + k0); | ||||
| keys[1] = kernel_tex_fetch(__attributes_float3, offset + k1); | keys[1] = kernel_tex_fetch(__attributes_float4, offset + k1); | ||||
| keys[2] = kernel_tex_fetch(__attributes_float3, offset + k2); | keys[2] = kernel_tex_fetch(__attributes_float4, offset + k2); | ||||
| keys[3] = kernel_tex_fetch(__attributes_float3, offset + k3); | keys[3] = kernel_tex_fetch(__attributes_float4, offset + k3); | ||||
| } | } | ||||
| } | } | ||||
| /* return 2 curve key locations */ | /* return 2 curve key locations */ | ||||
| ccl_device_inline void motion_curve_keys(KernelGlobals kg, | ccl_device_inline void motion_curve_keys(KernelGlobals kg, | ||||
| int object, | int object, | ||||
| int prim, | int prim, | ||||
| float time, | float time, | ||||
| Show All 35 Lines | |||||