Commit: 92bf4e00ea62643cbd7a8f4c81508f3f004207c5 Author: Thomas Dinges Date: Mon Jul 28 22:25:57 2014 +0200 Branches: soc-2014-cycles https://developer.blender.org/rB92bf4e00ea62643cbd7a8f4c81508f3f004207c5
Merge remote-tracking branch 'origin/master' into soc-2014-cycles Conflicts: intern/cycles/kernel/kernel_shader.h =================================================================== =================================================================== diff --cc intern/cycles/kernel/kernel_shader.h index 8fca361,3b95d70..356131a --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@@ -86,11 -86,8 +86,11 @@@ ccl_device void shader_setup_from_ray(K #endif if(sd->type & PRIMITIVE_TRIANGLE) { /* static triangle */ - float3 Ng = triangle_normal(kg, sd->prim); + float3 Ng = triangle_normal(kg, sd); - sd->shader = __float_as_int(kernel_tex_fetch(__tri_shader, sd->prim)); + + /* shader */ + float4 vindex = kernel_tex_fetch(__tri_vindex, sd->prim); + sd->shader = __float_as_int(vindex.w); /* vectors */ sd->P = triangle_refine(kg, sd, isect, ray); @@@ -168,9 -165,8 +168,9 @@@ ccl_device_inline void shader_setup_fro /* fetch triangle data */ if(sd->type == PRIMITIVE_TRIANGLE) { - float3 Ng = triangle_normal(kg, sd->prim); + float3 Ng = triangle_normal(kg, sd); - sd->shader = __float_as_int(kernel_tex_fetch(__tri_shader, sd->prim)); + float4 vindex = kernel_tex_fetch(__tri_vindex, sd->prim); + sd->shader = __float_as_int(vindex.w); /* static triangle */ sd->P = triangle_refine_subsurface(kg, sd, isect, ray); diff --cc intern/cycles/render/mesh.cpp index 150e170,295c934..ecc4a38 --- a/intern/cycles/render/mesh.cpp +++ b/intern/cycles/render/mesh.cpp @@@ -375,9 -382,17 +382,17 @@@ void Mesh::add_vertex_normals( } } } + else if(has_motion_blur() && attr_mN && flip) { + for(int step = 0; step < motion_steps - 1; step++) { + float3 *mN = attr_mN->data_float3() + step*verts.size(); + for(size_t i = 0; i < verts_size; i++) { + mN[i] = -mN[i]; + } + } + } } -void Mesh::pack_normals(Scene *scene, float *tri_shader, float4 *vnormal) +void Mesh::pack_normals(float4 *vnormal) { Attribute *attr_vN = attributes.find(ATTR_STD_VERTEX_NORMAL); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs