Commit: abd38c00f1ed0305cf4d0735f567851862e34e08
Author: Campbell Barton
Date: Sat Oct 11 11:16:31 2014 +0200
Branches: master
https://developer.blender.org/rBabd38c00f1ed0305cf4d0735f567851862e34e08
Cycles: set hit values in-order
===================================================================
M intern/cycles/kernel/geom/geom_bvh_traversal.h
M intern/cycles/kernel/geom/geom_bvh_volume.h
M intern/cycles/kernel/geom/geom_curve.h
M intern/cycles/kernel/geom/geom_motion_triangle.h
M intern/cycles/kernel/geom/geom_triangle.h
===================================================================
diff --git a/intern/cycles/kernel/geom/geom_bvh_traversal.h
b/intern/cycles/kernel/geom/geom_bvh_traversal.h
index eed54a4..114d30a 100644
--- a/intern/cycles/kernel/geom/geom_bvh_traversal.h
+++ b/intern/cycles/kernel/geom/geom_bvh_traversal.h
@@ -63,10 +63,10 @@ ccl_device bool BVH_FUNCTION_NAME
#endif
isect->t = ray->t;
- isect->object = OBJECT_NONE;
- isect->prim = PRIM_NONE;
isect->u = 0.0f;
isect->v = 0.0f;
+ isect->prim = PRIM_NONE;
+ isect->object = OBJECT_NONE;
#if defined(__KERNEL_DEBUG__)
isect->num_traversal_steps = 0;
diff --git a/intern/cycles/kernel/geom/geom_bvh_volume.h
b/intern/cycles/kernel/geom/geom_bvh_volume.h
index aac0a18..9dd8d22 100644
--- a/intern/cycles/kernel/geom/geom_bvh_volume.h
+++ b/intern/cycles/kernel/geom/geom_bvh_volume.h
@@ -61,10 +61,10 @@ ccl_device bool BVH_FUNCTION_NAME(KernelGlobals *kg,
#endif
isect->t = ray->t;
- isect->object = OBJECT_NONE;
- isect->prim = PRIM_NONE;
isect->u = 0.0f;
isect->v = 0.0f;
+ isect->prim = PRIM_NONE;
+ isect->object = OBJECT_NONE;
#if defined(__KERNEL_SSE2__)
const shuffle_swap_t shuf_identity = shuffle_swap_identity();
diff --git a/intern/cycles/kernel/geom/geom_curve.h
b/intern/cycles/kernel/geom/geom_curve.h
index c4e9e2a..b6d21c9 100644
--- a/intern/cycles/kernel/geom/geom_curve.h
+++ b/intern/cycles/kernel/geom/geom_curve.h
@@ -600,12 +600,12 @@ ccl_device_inline bool
bvh_cardinal_curve_intersect(KernelGlobals *kg, Intersect
#endif
{
/* record intersection */
+ isect->t = t;
+ isect->u = u;
+ isect->v = gd;
isect->prim = curveAddr;
isect->object = object;
isect->type = type;
- isect->u = u;
- isect->v = gd;
- isect->t = t;
hit = true;
}
@@ -835,12 +835,12 @@ ccl_device_inline bool bvh_curve_intersect(KernelGlobals
*kg, Intersection *isec
#endif
{
/* record intersection */
+ isect->t = t;
+ isect->u = z*invl;
+ isect->v = gd;
isect->prim = curveAddr;
isect->object = object;
isect->type = type;
- isect->u = z*invl;
- isect->v = gd;
- isect->t = t;
return true;
}
diff --git a/intern/cycles/kernel/geom/geom_motion_triangle.h
b/intern/cycles/kernel/geom/geom_motion_triangle.h
index b275b89..3a4b20e 100644
--- a/intern/cycles/kernel/geom/geom_motion_triangle.h
+++ b/intern/cycles/kernel/geom/geom_motion_triangle.h
@@ -336,12 +336,12 @@ ccl_device_inline bool
motion_triangle_intersect(KernelGlobals *kg, Intersection
if(kernel_tex_fetch(__prim_visibility, triAddr) & visibility)
#endif
{
+ isect->t = t;
+ isect->u = u;
+ isect->v = v;
isect->prim = triAddr;
isect->object = object;
isect->type = PRIMITIVE_MOTION_TRIANGLE;
- isect->u = u;
- isect->v = v;
- isect->t = t;
return true;
}
@@ -388,12 +388,12 @@ ccl_device_inline void
motion_triangle_intersect_subsurface(KernelGlobals *kg, I
/* record intersection */
Intersection *isect = &isect_array[hit];
+ isect->t = t;
+ isect->u = u;
+ isect->v = v;
isect->prim = triAddr;
isect->object = object;
isect->type = PRIMITIVE_MOTION_TRIANGLE;
- isect->u = u;
- isect->v = v;
- isect->t = t;
}
}
#endif
diff --git a/intern/cycles/kernel/geom/geom_triangle.h
b/intern/cycles/kernel/geom/geom_triangle.h
index 1b4c79c..c08a82e 100644
--- a/intern/cycles/kernel/geom/geom_triangle.h
+++ b/intern/cycles/kernel/geom/geom_triangle.h
@@ -334,12 +334,12 @@ ccl_device_inline bool triangle_intersect(KernelGlobals
*kg, Intersection *isect
#endif
{
/* record intersection */
+ isect->t = t;
+ isect->u = u;
+ isect->v = v;
isect->prim = triAddr;
isect->object = object;
isect->type = PRIMITIVE_TRIANGLE;
- isect->u = u;
- isect->v = v;
- isect->t = t;
return true;
}
}
@@ -397,12 +397,12 @@ ccl_device_inline void
triangle_intersect_subsurface(KernelGlobals *kg, Intersec
/* record intersection */
Intersection *isect = &isect_array[hit];
+ isect->t = t;
+ isect->u = u;
+ isect->v = v;
isect->prim = triAddr;
isect->object = object;
isect->type = PRIMITIVE_TRIANGLE;
- isect->u = u;
- isect->v = v;
- isect->t = t;
}
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs