Text archives Help
- 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.