[Bf-blender-cvs] [92bf4e0] soc-2014-cycles: Merge remote-tracking branch 'origin/master' into soc-2014-cycles

Thomas Dinges noreply at git.blender.org
Mon Jul 28 22:33:47 CEST 2014


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);




More information about the Bf-blender-cvs mailing list