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

Reply via email to