From 24ad7e0bea77d942267344990d22e931610c3d07 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 29 Mar 2014 13:03:46 +0100 Subject: Cycles code refactor: add support for motion vertex attributes. --- intern/cycles/kernel/geom/geom_curve.h | 4 ++-- intern/cycles/kernel/geom/geom_triangle.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'intern/cycles/kernel/geom') diff --git a/intern/cycles/kernel/geom/geom_curve.h b/intern/cycles/kernel/geom/geom_curve.h index 2daeb59c0ae..ec9081a6c75 100644 --- a/intern/cycles/kernel/geom/geom_curve.h +++ b/intern/cycles/kernel/geom/geom_curve.h @@ -28,7 +28,7 @@ ccl_device float curve_attribute_float(KernelGlobals *kg, const ShaderData *sd, return kernel_tex_fetch(__attributes_float, offset + sd->prim); } - else if(elem == ATTR_ELEMENT_CURVE_KEY) { + else if(elem == ATTR_ELEMENT_CURVE_KEY || elem == ATTR_ELEMENT_CURVE_KEY_MOTION) { float4 curvedata = kernel_tex_fetch(__curves, sd->prim); int k0 = __float_as_int(curvedata.x) + sd->segment; int k1 = k0 + 1; @@ -67,7 +67,7 @@ ccl_device float3 curve_attribute_float3(KernelGlobals *kg, const ShaderData *sd return float4_to_float3(kernel_tex_fetch(__attributes_float3, offset + sd->prim)); } - else if(elem == ATTR_ELEMENT_CURVE_KEY) { + else if(elem == ATTR_ELEMENT_CURVE_KEY || elem == ATTR_ELEMENT_CURVE_KEY_MOTION) { float4 curvedata = kernel_tex_fetch(__curves, sd->prim); int k0 = __float_as_int(curvedata.x) + sd->segment; int k1 = k0 + 1; diff --git a/intern/cycles/kernel/geom/geom_triangle.h b/intern/cycles/kernel/geom/geom_triangle.h index 6eaa077584b..1bdc76445f9 100644 --- a/intern/cycles/kernel/geom/geom_triangle.h +++ b/intern/cycles/kernel/geom/geom_triangle.h @@ -176,7 +176,7 @@ ccl_device float triangle_attribute_float(KernelGlobals *kg, const ShaderData *s return kernel_tex_fetch(__attributes_float, offset + sd->prim); } - else if(elem == ATTR_ELEMENT_VERTEX) { + else if(elem == ATTR_ELEMENT_VERTEX || elem == ATTR_ELEMENT_VERTEX_MOTION) { float3 tri_vindex = float4_to_float3(kernel_tex_fetch(__tri_vindex, sd->prim)); float f0 = kernel_tex_fetch(__attributes_float, offset + __float_as_int(tri_vindex.x)); @@ -219,7 +219,7 @@ ccl_device float3 triangle_attribute_float3(KernelGlobals *kg, const ShaderData return float4_to_float3(kernel_tex_fetch(__attributes_float3, offset + sd->prim)); } - else if(elem == ATTR_ELEMENT_VERTEX) { + else if(elem == ATTR_ELEMENT_VERTEX || elem == ATTR_ELEMENT_VERTEX_MOTION) { float3 tri_vindex = float4_to_float3(kernel_tex_fetch(__tri_vindex, sd->prim)); float3 f0 = float4_to_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.x))); -- cgit v1.2.3