Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r425 - trunk/Engine/ImageTraversers


Chronological Thread 
  • From: bigler@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [MANTA] r425 - trunk/Engine/ImageTraversers
  • Date: Wed, 6 Jul 2005 00:03:00 -0600 (MDT)

Author: bigler
Date: Wed Jul  6 00:02:58 2005
New Revision: 425

Added:
   trunk/Engine/ImageTraversers/DissolveImageTraverser.cc
   trunk/Engine/ImageTraversers/DissolveImageTraverser.h
Log:
Initial version.  Doesn't compile yet.  Not to worry; it hasn't been added to 
the CMakeLists.txt file yet.

Added: trunk/Engine/ImageTraversers/DissolveImageTraverser.cc
==============================================================================
--- (empty file)
+++ trunk/Engine/ImageTraversers/DissolveImageTraverser.cc      Wed Jul  6 
00:02:58 2005
@@ -0,0 +1,37 @@
+// Use this mask to produce values from 1 to N (in the comments)
+unsigned int MaskValues[] = {
+  /* 00 */       0x00,  //             0
+  /* 01 */       0x01,  //             1
+  /* 02 */       0x03,  //             3
+  /* 03 */       0x06,  //             7
+  /* 04 */       0x0C,  //            15
+  /* 05 */       0x14,  //            31
+  /* 06 */       0x30,  //            63
+  /* 07 */       0x60,  //           127
+  /* 08 */       0xB8,  //           255
+  /* 09 */     0x0110,  //           511
+  /* 10 */     0x0240,  //         1,023
+  /* 11 */     0x0500,  //         2,047
+  /* 12 */     0x0CA0,  //         4,095
+  /* 13 */     0x1B00,  //         8,191
+  /* 14 */     0x3500,  //        16,383
+  /* 15 */     0x6000,  //        32,767
+  /* 16 */     0xB400,  //        65,535
+  /* 17 */ 0x00012000,  //       131,071
+  /* 18 */ 0x00020400,  //       262,143
+  /* 19 */ 0x00072000,  //       524,287
+  /* 20 */ 0x00090000,  //     1,048,575
+  /* 21 */ 0x00140000,  //     2,097,151
+  /* 22 */ 0x00300000,  //     4,194,303
+  /* 23 */ 0x00400000,  //     8,388,607
+  /* 24 */ 0x00D80000,  //    16,777,215
+  /* 25 */ 0x01200000,  //    33,554,431
+  /* 26 */ 0x03880000,  //    67,108,863
+  /* 27 */ 0x07200000,  //   134,217,727
+  /* 28 */ 0x09000000,  //   268,435,575
+  /* 29 */ 0x14000000,  //   536,870,911
+  /* 30 */ 0x32800000,  // 1,073,741,823
+  /* 31 */ 0x48000000,  // 2,147,483,647
+  /* 32 */ 0xA3000000   // 4,294,967,295
+};
+

Added: trunk/Engine/ImageTraversers/DissolveImageTraverser.h
==============================================================================
--- (empty file)
+++ trunk/Engine/ImageTraversers/DissolveImageTraverser.h       Wed Jul  6 
00:02:58 2005
@@ -0,0 +1,38 @@
+
+#ifndef Manta_Engine_DissolveImageTraverser_h
+#define Manta_Engine_DissolveImageTraverser_h
+
+#include <Interface/ImageTraverser.h>
+#include <sgi_stl_warnings_off.h>
+#include <string>
+#include <vector>
+#include <sgi_stl_warnings_on.h>
+
+namespace Manta {
+  using namespace std;
+  class DissolveImageTraverser : public ImageTraverser {
+  public:
+    DissolveImageTraverser(const vector<string>& args);
+    virtual ~DissolveImageTraverser();
+    virtual void setupBegin(const SetupContext&, int numChannels);
+    virtual void setupDisplayChannel(SetupContext&);
+    virtual void setupFrame(const RenderContext& context);
+    virtual void renderImage(const RenderContext& context, Image* image);
+
+    static ImageTraverser* create(const vector<string>& args);
+  private:
+    DissolveImageTraverser(const DissolveImageTraverser&);
+    DissolveImageTraverser& operator=(const DissolveImageTraverser&);
+
+    struct ThreadContext {
+      unsigned int current_x, current_y;
+    };
+
+    unsigned int mask;
+    vector<ThreadContext> current_pixels;
+    // This is how many pixels to render on a call to renderImage.
+    unsigned int pixels_per_pass;
+  };
+}
+
+#endif




  • [MANTA] r425 - trunk/Engine/ImageTraversers, bigler, 07/06/2005

Archive powered by MHonArc 2.6.16.

Top of page