Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r1329 - in trunk: Interface Model/Groups


Chronological Thread 
  • From: bigler@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [MANTA] r1329 - in trunk: Interface Model/Groups
  • Date: Wed, 11 Apr 2007 17:24:33 -0600 (MDT)

Author: bigler
Date: Wed Apr 11 17:24:33 2007
New Revision: 1329

Modified:
   trunk/Interface/Callback.h
   trunk/Interface/CallbackHelpers.h
   trunk/Model/Groups/DynBVH.cc
Log:

Interface/Callback.h
Interface/CallbackHelpers.h

  Added Static_1Data_1Arg and Static_1Data_2Arg.

Model/Groups/DynBVH.cc

  Disable the DynBVH ports optimization that caused blocky (holes)
  shadows.


Modified: trunk/Interface/Callback.h
==============================================================================
--- trunk/Interface/Callback.h  (original)
+++ trunk/Interface/Callback.h  Wed Apr 11 17:24:33 2007
@@ -53,6 +53,22 @@
       return new Callback_Static_1Data_0Arg<Data1>(pmf);
     }
 
+    template<typename Data1,
+             typename Arg1> static
+    CallbackBase_1Data<Data1>*
+    create(void (*pmf)(Data1, Arg1),
+           Arg1 arg1) {
+      return new Callback_Static_1Data_1Arg<Data1, Arg1>(pmf, arg1);
+    }
+
+    template<typename Data1,
+             typename Arg1, typename Arg2> static
+    CallbackBase_1Data<Data1>*
+    create(void (*pmf)(Data1, Arg1, Arg2),
+           Arg1 arg1, Arg2 arg2) {
+      return new Callback_Static_1Data_2Arg<Data1, Arg1, Arg2>(pmf, arg1, 
arg2);
+    }
+
     // 2 Data
     template<typename Data1, typename Data2,
              typename Arg1, typename Arg2> static

Modified: trunk/Interface/CallbackHelpers.h
==============================================================================
--- trunk/Interface/CallbackHelpers.h   (original)
+++ trunk/Interface/CallbackHelpers.h   Wed Apr 11 17:24:33 2007
@@ -208,6 +208,49 @@
     void (*pmf)(Data1);
   };
 
+  template<typename Data1,
+           typename Arg1>
+  class Callback_Static_1Data_1Arg : public CallbackBase_1Data<Data1> {
+  public:
+    Callback_Static_1Data_1Arg(void (*pmf)(Data1, Arg1),
+                               Arg1 arg1)
+      : pmf(pmf), arg1(arg1)
+    {
+    }
+    virtual ~Callback_Static_1Data_1Arg()
+    {
+    }
+    virtual void call(Data1 data1)
+    {
+      pmf(data1, arg1);
+    }
+  private:
+    void (*pmf)(Data1, Arg1);
+    Arg1 arg1;
+  };
+
+  template<typename Data1,
+           typename Arg1, typename Arg2>
+  class Callback_Static_1Data_2Arg : public CallbackBase_1Data<Data1> {
+  public:
+    Callback_Static_1Data_2Arg(void (*pmf)(Data1, Arg1, Arg2),
+                               Arg1 arg1, Arg2 arg2)
+      : pmf(pmf), arg1(arg1), arg2(arg2)
+    {
+    }
+    virtual ~Callback_Static_1Data_2Arg()
+    {
+    }
+    virtual void call(Data1 data1)
+    {
+      pmf(data1, arg1, arg2);
+    }
+  private:
+    void (*pmf)(Data1, Arg1, Arg2);
+    Arg1 arg1;
+    Arg2 arg2;
+  };
+
   // 2 Data
   template<typename Data1, typename Data2>
   class Callback_Static_2Data_0Arg : public CallbackBase_2Data<Data1, Data2> 
{

Modified: trunk/Model/Groups/DynBVH.cc
==============================================================================
--- trunk/Model/Groups/DynBVH.cc        (original)
+++ trunk/Model/Groups/DynBVH.cc        Wed Apr 11 17:24:33 2007
@@ -13,7 +13,7 @@
 const float BVH_C_trav = 10.f;
 
 #ifdef MANTA_SSE
-#define USE_DYNBVH_PORTS 1
+#define USE_DYNBVH_PORTS 0
 #else
 #define USE_DYNBVH_PORTS 0
 #endif




  • [MANTA] r1329 - in trunk: Interface Model/Groups, bigler, 04/11/2007

Archive powered by MHonArc 2.6.16.

Top of page