Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r1464 - in trunk: Core/Math Engine/Control Engine/ImageTraversers Model/Textures StandAlone


Chronological Thread 
  • From: bigler@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [MANTA] r1464 - in trunk: Core/Math Engine/Control Engine/ImageTraversers Model/Textures StandAlone
  • Date: Wed, 11 Jul 2007 12:57:57 -0600 (MDT)

Author: bigler
Date: Wed Jul 11 12:57:56 2007
New Revision: 1464

Removed:
   trunk/StandAlone/noisegen.cc
Modified:
   trunk/Core/Math/MT_RNG.h
   trunk/Engine/Control/RTRT.cc
   trunk/Engine/ImageTraversers/TiledImageTraverser.cc
   trunk/Model/Textures/Constant.cc
   trunk/StandAlone/CMakeLists.txt
Log:

Core/Math/MT_RNG.h

  Added padding (didn't seem to change the performce one way or the
  other for now).

Engine/Control/RTRT.cc

  Added some code for using the MT_RNG instead of CheapRNG.  Defaults
  to CheapRNG since it is faster for now.

Engine/ImageTraversers/TiledImageTraverser.cc

  Seed the RNG based on the pixel location.  This keeps it from
  flashing about.

Model/Textures/Constant.cc

  Removed unused variable.

StandAlone/CMakeLists.txt
StandAlone/noisegen.cc

  Removed test program.  The noise renderer is easier to use.


Modified: trunk/Core/Math/MT_RNG.h
==============================================================================
--- trunk/Core/Math/MT_RNG.h    (original)
+++ trunk/Core/Math/MT_RNG.h    Wed Jul 11 12:57:56 2007
@@ -40,10 +40,13 @@
 #define MT_RNG_M 397
 
 class MT_RNG : public RandomNumberGenerator {
+  char padding0[128];
   unsigned int mt[MT_RNG_N]; // the array for the state vector
   int mti; // mti==MT_RNG_N+1 means mt[MT_RNG_N] is not initialized
+  char padding1[128];
 public:
   MT_RNG(): mti(MT_RNG_N+1) {}
+  static void create(RandomNumberGenerator*& rng ) { rng = new MT_RNG(); }
   void seed(unsigned int seed);
   virtual unsigned int nextInt();
   

Modified: trunk/Engine/Control/RTRT.cc
==============================================================================
--- trunk/Engine/Control/RTRT.cc        (original)
+++ trunk/Engine/Control/RTRT.cc        Wed Jul 11 12:57:56 2007
@@ -68,6 +68,7 @@
 #include <Interface/Material.h>
 
 #include <Core/Math/CheapRNG.h>
+#include <Core/Math/MT_RNG.h>
 
 using namespace Manta;
 using namespace std;
@@ -145,7 +146,11 @@
   scene = 0;
   verbose_transactions = false;
 
+#if 1
   create_rng = Callback::create(&CheapRNG::create);
+#else
+  create_rng = Callback::create(&MT_RNG::create);
+#endif
 }
 
 RTRT::~RTRT()

Modified: trunk/Engine/ImageTraversers/TiledImageTraverser.cc
==============================================================================
--- trunk/Engine/ImageTraversers/TiledImageTraverser.cc (original)
+++ trunk/Engine/ImageTraversers/TiledImageTraverser.cc Wed Jul 11 12:57:56 
2007
@@ -40,6 +40,7 @@
 #include <Interface/LoadBalancer.h>
 #include <Interface/PixelSampler.h>
 #include <Interface/RayPacket.h> // for maxsize
+#include <Interface/RandomNumberGenerator.h>
 #include <MantaSSE.h>
 
 using namespace Manta;
@@ -200,6 +201,7 @@
                       for(int i=0;i<fsize;i++)
                           frag.pixel[1][i] = y;
 #endif
+                      context.rng->seed(xstart*xres+y);
                       context.pixelSampler->renderFragment(context, frag);
                       image->set(frag);
                   }
@@ -233,6 +235,7 @@
                               frag.pixel[0][i] = i+x;
 #endif
                           frag.setSize(size);
+                          context.rng->seed(x*xres+y);
                           context.pixelSampler->renderFragment(context, 
frag);
                           image->set(frag);
                       }
@@ -267,6 +270,7 @@
                           }
                       }
                       frag.setSize(j_end * i_end);
+                      context.rng->seed(x*xres+y);
                       context.pixelSampler->renderFragment(context, frag);
 
                       image->set(frag);

Modified: trunk/Model/Textures/Constant.cc
==============================================================================
--- trunk/Model/Textures/Constant.cc    (original)
+++ trunk/Model/Textures/Constant.cc    Wed Jul 11 12:57:56 2007
@@ -21,7 +21,6 @@
     for(;i<b;i++){
       results.set(i, value);
     }
-    RayPacketData* data = rays.data;
     for(;i<e;i+=4){
       _mm_store_ps(&results.colordata[0][i], _mm_set1_ps(value[0]));
       _mm_store_ps(&results.colordata[1][i], _mm_set1_ps(value[1]));
@@ -55,7 +54,6 @@
     for(;i<b;i++){
       results.set(i, value);
     }
-    RayPacketData* data = rays.data;
     for(;i<e;i+=4){
       _mm_store_ps(&results.data[i], _mm_set1_ps(value));
     }

Modified: trunk/StandAlone/CMakeLists.txt
==============================================================================
--- trunk/StandAlone/CMakeLists.txt     (original)
+++ trunk/StandAlone/CMakeLists.txt     Wed Jul 11 12:57:56 2007
@@ -58,7 +58,3 @@
 IF (BUILD_DISPLAY_TEST)
 ENDIF(BUILD_DISPLAY_TEST)
 
-   ADD_EXECUTABLE(noisegen noisegen.cc)
-   TARGET_LINK_LIBRARIES(noisegen SCIRun_Core Manta_Core Manta_Model)
-   TARGET_LINK_LIBRARIES(noisegen ${CMAKE_THREAD_LIBS_INIT}
-                                  -lm)  




  • [MANTA] r1464 - in trunk: Core/Math Engine/Control Engine/ImageTraversers Model/Textures StandAlone, bigler, 07/11/2007

Archive powered by MHonArc 2.6.16.

Top of page