[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