Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r2144 - trunk/Engine/ImageTraversers


Chronological Thread 
  • From: "Thiago Ize" <thiago@sci.utah.edu>
  • To: manta@sci.utah.edu
  • Subject: [Manta] r2144 - trunk/Engine/ImageTraversers
  • Date: Sun, 9 Mar 2008 18:09:46 -0600 (MDT)

Author: thiago
Date: Sun Mar  9 18:09:45 2008
New Revision: 2144

Modified:
   trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc
   trunk/Engine/ImageTraversers/DeadlineImageTraverser.h
Log:
Making the maximum number of samples per pixel user defined as a
command line argument (-max_spp). It defaults to 1024 which is probably
fine for most people. This also makes the dart benchmark work
correctly again (last night it took forever to finish).


Modified: trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc
==============================================================================
--- trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc      (original)
+++ trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc      Sun Mar  9 
18:09:45 2008
@@ -79,6 +79,7 @@
   FIFO_cutoff = 1.f;
   use_render_region = false;
   do_dart_benchmark = false;
+  max_spp = 1024;
 
   float frameRate = 15;
   ypacketsize = 1;
@@ -129,6 +130,9 @@
       ShowTimeSupersample = true;
     } else if(arg == "-dart_benchmark"){
       do_dart_benchmark = true;
+    } else if(arg == "-max_spp"){
+      if(!getArg(i, args, max_spp))
+        throw IllegalArgument("DeadlineImageTraverser -max_spp", i, args);
     } else {
       throw IllegalArgument("DeadlineImageTraverser", i, args);
     }
@@ -282,10 +286,6 @@
       converged = true;
       double EndTime = CPUTime::currentSeconds();
       double total_time = EndTime - StartFrameTime;
-      unsigned int total_samples = 1;
-      for (int i = 0; i < kNumJitterLevels; i++) {
-        total_samples *= 4;
-      }
       if (do_dart_benchmark) {
         //This is an ugly hack to get benchmarking information out of
         //this constant frame rate image traverser. Really don't like
@@ -293,7 +293,7 @@
         std::cout << "<DartMeasurement name=\"total_time\" 
type=\"numeric/double\">"<<total_time<<"</DartMeasurement>\n";
         context.rtrt_int->finish();
       } else {
-        cerr << "Took " << total_time << " seconds to refine to "<< 
total_samples <<" spp" << endl;
+        cerr << "Took " << total_time << " seconds to refine to "<< max_spp 
<<" spp" << endl;
       }
     }
   }
@@ -437,7 +437,7 @@
       // TODO(boulos): Can we do some other number of samples?
       int samples_per_pixel = x_samples * y_samples;
 
-      if (samples_per_pixel > 16384)
+      if (samples_per_pixel > max_spp)
         continue;
       // NOTE(boulos): We know that we don't just stop anymore due
       // to super sampling

Modified: trunk/Engine/ImageTraversers/DeadlineImageTraverser.h
==============================================================================
--- trunk/Engine/ImageTraversers/DeadlineImageTraverser.h       (original)
+++ trunk/Engine/ImageTraversers/DeadlineImageTraverser.h       Sun Mar  9 
18:09:45 2008
@@ -114,6 +114,7 @@
     bool converged;
     double StartFrameTime;
     bool do_dart_benchmark;
+    unsigned int max_spp; //max samples per pixel
     enum PriorityScheme {
       FIFO, LuminanceVariance, Contrast, FIFO_to_LumVar, Center
     };




  • [Manta] r2144 - trunk/Engine/ImageTraversers, Thiago Ize, 03/09/2008

Archive powered by MHonArc 2.6.16.

Top of page