Revision: 21438
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21438
Author:   jaguarandi
Date:     2009-07-08 21:39:37 +0200 (Wed, 08 Jul 2009)

Log Message:
-----------
Enabled #ifdefs to test LAST_HIT, LAST_HINT
Disable last_hint as it only slow downs

Modified Paths:
--------------
    
branches/soc-2009-jaguarandi/source/blender/render/extern/include/RE_raytrace.h
    branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayobject.c
    
branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayobject_bvh.c
    branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayshade.c

Modified: 
branches/soc-2009-jaguarandi/source/blender/render/extern/include/RE_raytrace.h
===================================================================
--- 
branches/soc-2009-jaguarandi/source/blender/render/extern/include/RE_raytrace.h 
    2009-07-08 19:21:39 UTC (rev 21437)
+++ 
branches/soc-2009-jaguarandi/source/blender/render/extern/include/RE_raytrace.h 
    2009-07-08 19:39:37 UTC (rev 21438)
@@ -31,7 +31,9 @@
 #ifndef RE_RAYTRACE_H
 #define RE_RAYTRACE_H
 
-#define RT_USE_HINT    /* 1 level hint */
+#define RT_USE_LAST_HIT        /* last shadow hit is reused before raycasting 
on whole tree */
+//#define RT_USE_HINT                  /* last hit object is reused before 
raycasting on whole tree */
+
 #define RE_RAYCOUNTER
 
 

Modified: 
branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayobject.c
===================================================================
--- 
branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayobject.c    
    2009-07-08 19:21:39 UTC (rev 21437)
+++ 
branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayobject.c    
    2009-07-08 19:39:37 UTC (rev 21438)
@@ -288,7 +288,9 @@
 
                is->hit.ob   = face->ob;
                is->hit.face = face->face;
+#ifdef RT_USE_LAST_HIT
                is->last_hit = (RayObject*) RayObject_unalignRayFace(face);
+#endif
                return 1;
        }
 
@@ -315,7 +317,7 @@
                isec->bv_index[2*i+1]   = i+3*isec->bv_index[2*i+1];
        }
 
-       
+#ifdef RT_USE_LAST_HIT 
        /* Last hit heuristic */
        if(isec->mode==RE_RAY_SHADOW && isec->last_hit)
        {
@@ -328,6 +330,7 @@
                        return 1;
                }
        }
+#endif
 
 #ifdef RT_USE_HINT
        isec->hit_hint = 0;

Modified: 
branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayobject_bvh.c
===================================================================
--- 
branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayobject_bvh.c
    2009-07-08 19:21:39 UTC (rev 21437)
+++ 
branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayobject_bvh.c
    2009-07-08 19:39:37 UTC (rev 21438)
@@ -173,7 +173,9 @@
                {
                        if(RE_rayobject_bb_intersect(isec, (const 
float*)node->bb) != FLT_MAX)
                        {
+#ifdef RT_USE_HINT
                                last_processed_node = node;
+#endif
                                //push nodes in reverse visit order
                                if(isec->idot_axis[node->split_axis] < 0.0f)
                                {

Modified: 
branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayshade.c
===================================================================
--- branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayshade.c 
2009-07-08 19:21:39 UTC (rev 21437)
+++ branches/soc-2009-jaguarandi/source/blender/render/intern/source/rayshade.c 
2009-07-08 19:39:37 UTC (rev 21438)
@@ -606,7 +606,9 @@
        isec.labda = dist_mir > 0 ? dist_mir : RE_RAYTRACE_MAXDIST;
        isec.mode= RE_RAY_MIRROR;
        isec.skip = RE_SKIP_VLR_NEIGHBOUR;
+#ifdef RT_USE_HINT
        isec.hint = 0;
+#endif
 
        isec.orig.ob   = obi;
        isec.orig.face = vlr;
@@ -1512,7 +1514,9 @@
        isec.mode= RE_RAY_MIRROR;
        isec.orig.ob   = ship->obi;
        isec.orig.face = ship->vlr;
+#ifdef RT_USE_HINT
        isec.hint = 0;
+#endif
        RE_RC_INIT(isec, shi);
        
        for(a=0; a<8*8; a++) {
@@ -1722,7 +1726,9 @@
        isec.orig.ob   = shi->obi;
        isec.orig.face = shi->vlr;
        isec.skip = RE_SKIP_VLR_NEIGHBOUR;
+#ifdef RT_USE_HINT
        isec.hint = 0;
+#endif
 
        isec.hit.ob   = 0;
        isec.hit.face = 0;
@@ -1857,7 +1863,9 @@
        isec.orig.ob   = shi->obi;
        isec.orig.face = shi->vlr;
        isec.skip = RE_SKIP_VLR_NEIGHBOUR;
+#ifdef RT_USE_HINT
        isec.hint = 0;
+#endif
 
        isec.hit.ob   = 0;
        isec.hit.face = 0;
@@ -2294,7 +2302,9 @@
        RE_RC_INIT(isec, *shi);
        if(shi->mat->mode & MA_SHADOW_TRA) isec.mode= RE_RAY_SHADOW_TRA;
        else isec.mode= RE_RAY_SHADOW;
+#ifdef RT_USE_HINT
        isec.hint = 0;
+#endif
        
        if(lar->mode & (LA_LAYER|LA_LAYER_SHADOW))
                isec.lay= lar->lay;
@@ -2380,7 +2390,9 @@
        /* setup isec */
        RE_RC_INIT(isec, *shi);
        isec.mode= RE_RAY_SHADOW_TRA;
+#ifdef RT_USE_HINT
        isec.hint = 0;
+#endif
        
        if(lar->mode & LA_LAYER) isec.lay= lar->lay; else isec.lay= -1;
        


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

Reply via email to