Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r1798 - trunk/Image


Chronological Thread 
  • From: bigler@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [Manta] r1798 - trunk/Image
  • Date: Thu, 1 Nov 2007 18:02:35 -0600 (MDT)

Author: bigler
Date: Thu Nov  1 18:02:35 2007
New Revision: 1798

Modified:
   trunk/Image/SimpleImage.h
Log:
Image/SimpleImage.h

  Added splatting for default image type.  This really only helps
  rgbfloat as most other things have specializations.  I'll get to
  those soon.


Modified: trunk/Image/SimpleImage.h
==============================================================================
--- trunk/Image/SimpleImage.h   (original)
+++ trunk/Image/SimpleImage.h   Thu Nov  1 18:02:35 2007
@@ -112,7 +112,28 @@
   template<class Pixel>
   void SimpleImage<Pixel>::set(const Fragment& fragment)
   {
-    if(fragment.getFlag(Fragment::ConsecutiveX|Fragment::ConstantEye)){
+    if(fragment.xPixelSize != 1 || fragment.yPixelSize != 1){
+      // NOTE(boulos): This branch tries to copy fragments where a
+      // single sample splats onto several pixels
+      for(int i=fragment.begin();i<fragment.end();i++){
+        Pixel pix;
+        convertToPixel(pix, fragment.getColor(i).convertRGB());
+
+        // start splatting
+        int y_index = fragment.getY(i);
+        int last_x = std::min(xres - fragment.getX(i), fragment.xPixelSize);
+        for(int y=0;y<fragment.yPixelSize;y++){
+
+          if (y_index >= yres) break;
+
+          Pixel* row = eyeStart[fragment.getWhichEye(i)][y_index];
+          for(int x=0;x<last_x;x++)
+            row[fragment.getX(i) + x] = pix;
+
+          y_index++;
+        }
+      }
+    } else 
if(fragment.getFlag(Fragment::ConsecutiveX|Fragment::ConstantEye)){
       int b = fragment.begin();
       Pixel* pix = 
eyeStart[fragment.getWhichEye(b)][fragment.getY(b)]+fragment.getX(b);
       for(int i=fragment.begin(); i< fragment.end();i++)




  • [Manta] r1798 - trunk/Image, bigler, 11/01/2007

Archive powered by MHonArc 2.6.16.

Top of page