Revision: 59544
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59544
Author:   gdh
Date:     2013-08-26 23:59:46 +0000 (Mon, 26 Aug 2013)
Log Message:
-----------
Added BVH adjustments for deformation blur in the refit_node() function. 
This code is still untested. That's what I will be doing after I commit 
this.

Modified Paths:
--------------
    branches/soc-2013-cycles_mblur/intern/cycles/bvh/bvh.cpp

Modified: branches/soc-2013-cycles_mblur/intern/cycles/bvh/bvh.cpp
===================================================================
--- branches/soc-2013-cycles_mblur/intern/cycles/bvh/bvh.cpp    2013-08-26 
23:37:08 UTC (rev 59543)
+++ branches/soc-2013-cycles_mblur/intern/cycles/bvh/bvh.cpp    2013-08-26 
23:59:46 UTC (rev 59544)
@@ -645,6 +645,22 @@
                                        bbox.grow(vpos[vidx[0]]);
                                        bbox.grow(vpos[vidx[1]]);
                                        bbox.grow(vpos[vidx[2]]);
+
+                                       /* If the mesh has deformation blur, we 
need to take that into account. */
+                                       Attribute *attr = 
mesh->attributes.find(ATTR_STD_DMOTION);
+                                       if (attr) {
+                                               size_t mesh_size = 
mesh->verts.size();
+                                               size_t steps = 
mesh->mblur_steps - 1;
+                                               float3 *vert_steps = 
attr->data_float3();
+
+                                               /* Go through all of the steps 
and grow the bounds
+                                                * for each step of the 
triangle. */
+                                               for (size_t i = 0; i < steps; 
i++) {
+                                                       bbox.grow(vert_steps[i 
* mesh_size + vidx[0]]);
+                                                       bbox.grow(vert_steps[i 
* mesh_size + vidx[1]]);
+                                                       bbox.grow(vert_steps[i 
* mesh_size + vidx[2]]);
+                                               }
+                                       }
                                }
                        }
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to