Cycles: Cleanup, comments

This commit is contained in:
Sergey Sharybin 2017-01-16 20:08:19 +01:00
parent 461214508c
commit 938ec3a743
3 changed files with 17 additions and 7 deletions

@ -50,12 +50,12 @@ ccl_device_inline int find_attribute_curve_motion(KernelGlobals *kg, int object,
ccl_device_inline void motion_curve_keys_for_step(KernelGlobals *kg, int offset, int numkeys, int numsteps, int step, int k0, int k1, float4 keys[2])
{
if(step == numsteps) {
/* center step: regular vertex location */
/* center step: regular key location */
keys[0] = kernel_tex_fetch(__curve_keys, k0);
keys[1] = kernel_tex_fetch(__curve_keys, k1);
}
else {
/* center step not stored in this array */
/* center step is not stored in this array */
if(step > numsteps)
step--;
@ -97,14 +97,14 @@ ccl_device_inline void motion_curve_keys(KernelGlobals *kg, int object, int prim
ccl_device_inline void motion_cardinal_curve_keys_for_step(KernelGlobals *kg, int offset, int numkeys, int numsteps, int step, int k0, int k1, int k2, int k3, float4 keys[4])
{
if(step == numsteps) {
/* center step: regular vertex location */
/* center step: regular key location */
keys[0] = kernel_tex_fetch(__curve_keys, k0);
keys[1] = kernel_tex_fetch(__curve_keys, k1);
keys[2] = kernel_tex_fetch(__curve_keys, k2);
keys[3] = kernel_tex_fetch(__curve_keys, k3);
}
else {
/* center step not store in this array */
/* center step is not stored in this array */
if(step > numsteps)
step--;

@ -76,7 +76,7 @@ ccl_device_inline void motion_triangle_normals_for_step(KernelGlobals *kg, uint4
normals[2] = float4_to_float3(kernel_tex_fetch(__tri_vnormal, tri_vindex.z));
}
else {
/* center step not stored in this array */
/* center step is not stored in this array */
if(step > numsteps)
step--;

@ -63,8 +63,18 @@ void Mesh::Triangle::motion_verts(const float3 *verts,
/* Fetch vertex coordinates. */
float3 curr_verts[3];
float3 next_verts[3];
verts_for_step(verts, vert_steps, num_verts, num_steps, step, curr_verts);
verts_for_step(verts, vert_steps, num_verts, num_steps, step + 1, next_verts);
verts_for_step(verts,
vert_steps,
num_verts,
num_steps,
step,
curr_verts);
verts_for_step(verts,
vert_steps,
num_verts,
num_steps,
step + 1,
next_verts);
/* Interpolate between steps. */
r_verts[0] = (1.0f - t)*curr_verts[0] + t*next_verts[0];
r_verts[1] = (1.0f - t)*curr_verts[1] + t*next_verts[1];