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

Reply via email to