Manta Interactive Ray Tracer Development Mailing List

Text archives Help


Re: [Manta] r2143 - trunk/Engine/ImageTraversers


Chronological Thread 
  • From: Thiago Ize <thiago@cs.utah.edu>
  • To: "'manta@sci.utah.edu'" <manta@sci.utah.edu>
  • Subject: Re: [Manta] r2143 - trunk/Engine/ImageTraversers
  • Date: Sat, 08 Mar 2008 21:52:39 -0700

I interactively move the camera around and wait a couple seconds or minutes to see if what I see is nice. Then, I can either continue moving the camera or just let it sit (and do other work in the meantime) and it keeps getting nicer looking. Once it looks nice enough, I take a screen shot. Yeah, I guess I could find something I like, press 'c', and fire manta up again with that view and the jittered sampler. But then I will have to wait a long time for any image to appear and once it does it might turn out that I used too many samples and so waited too long or not enough and so have to start over.

Thiago

James Bigler wrote:
Why do you need this many samples in the DeadlineImageTraverser? This is supposed to be part of an interactive session. ;)

You are likely using this to generate off line images, so you should probably be using the standard image traverser with the jittered sampler.

James

Thiago Ize wrote:
Author: thiago
Date: Fri Mar  7 14:53:21 2008
New Revision: 2143

Modified:
   trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc
   trunk/Engine/ImageTraversers/DeadlineImageTraverser.h
Log:
Increased number of spp to 4096 and 16384 (two more notches) so that
my tricky images can look converged. Hopefully I don't need more!

Modified: trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc
==============================================================================
--- trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc    (original)
+++ trunk/Engine/ImageTraversers/DeadlineImageTraverser.cc Fri Mar 7 14:53:21 2008
@@ -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 > 1024)
+      if (samples_per_pixel > 16384)
         continue;
       // NOTE(boulos): We know that we don't just stop anymore due
       // to super sampling
@@ -477,8 +477,21 @@
         mutable_context.sample_generator = sampleGenerators[5];
 #endif
         break;
+      case 4096:
+        jitter_sampler = jitterSamplers[5];
+#if USE_SAMPLE_GEN
+        mutable_context.sample_generator = sampleGenerators[6];
+#endif
+        break;
+      case 16384:
+        jitter_sampler = jitterSamplers[6];
+#if USE_SAMPLE_GEN
+        mutable_context.sample_generator = sampleGenerators[7];
+#endif
+        break;
+
       default:
- throw InternalError("Expected either 4, 16, 64, 256, or 1024 spp");
+ throw InternalError("Expected either 4, 16, 64, 256, 1024, 4096, or 16384 spp");
         break;
       }

Modified: trunk/Engine/ImageTraversers/DeadlineImageTraverser.h
==============================================================================
--- trunk/Engine/ImageTraversers/DeadlineImageTraverser.h    (original)
+++ trunk/Engine/ImageTraversers/DeadlineImageTraverser.h Fri Mar 7 14:53:21 2008
@@ -63,7 +63,7 @@
virtual void renderImage(const RenderContext& context, Image* image);
static ImageTraverser* create(const vector<string>& args);
- static const int kNumJitterLevels = 5; // This provides 4, 16, 64, and 256 spp
+ static const int kNumJitterLevels = 7; // This provides 4, 16, ..., 2^(kNumJitterLevels*2) spp
void setRenderRegion(int xstart, int ystart, int xend, int yend) {
       render_region.xstart = xstart;







Archive powered by MHonArc 2.6.16.

Top of page