Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r1845 - trunk/Model/Lights


Chronological Thread 
  • From: sparker@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [Manta] r1845 - trunk/Model/Lights
  • Date: Fri, 9 Nov 2007 17:44:35 -0700 (MST)

Author: sparker
Date: Fri Nov  9 17:44:31 2007
New Revision: 1845

Modified:
   trunk/Model/Lights/AreaLight.cc
   trunk/Model/Lights/AreaLight.h
Log:
Enabled persistent I/O for area lights


Modified: trunk/Model/Lights/AreaLight.cc
==============================================================================
--- trunk/Model/Lights/AreaLight.cc     (original)
+++ trunk/Model/Lights/AreaLight.cc     Fri Nov  9 17:44:31 2007
@@ -1,9 +1,17 @@
 #include <Model/Lights/AreaLight.h>
+#include <Core/Persistent/ArchiveElement.h>
+#include <Core/Persistent/MantaRTTI.h>
+#include <Interface/InterfaceRTTI.h>
 #include <MantaSSE.h>
 #include <Interface/Primitive.h>
+#include <iostream>
 
 using namespace Manta;
 
+AreaLight::AreaLight()
+{
+}
+
 AreaLight::AreaLight(Primitive* primitive, const Color& color)
   : primitive(primitive), color(color) {
 }
@@ -23,7 +31,7 @@
   Packet<Real> pdfs;
   primitive->getRandomPoints(positions, normals, pdfs, context, sourceRays);
 
-#ifdef MANTA_SSE
+#ifdef MANTA_SSEZZ
   int b = (sourceRays.rayBegin + 3) & (~3);
   int e = sourceRays.rayEnd & (~3);
   if(b >= e){
@@ -144,4 +152,16 @@
     }
   }
 #endif
+}
+
+namespace Manta {
+  MANTA_DECLARE_RTTI_DERIVEDCLASS(AreaLight, Light, ConcreteClass, 
readwriteMethod);
+  MANTA_REGISTER_CLASS(AreaLight);
+}
+
+void AreaLight::readwrite(ArchiveElement* archive)
+{
+  MantaRTTI<Light>::readwrite(archive, *this);
+  archive->readwrite("primitive", primitive);
+  archive->readwrite("color", color);
 }

Modified: trunk/Model/Lights/AreaLight.h
==============================================================================
--- trunk/Model/Lights/AreaLight.h      (original)
+++ trunk/Model/Lights/AreaLight.h      Fri Nov  9 17:44:31 2007
@@ -10,6 +10,7 @@
   class Primitive;
   class AreaLight : public Light {
   public:
+    AreaLight();
     AreaLight(Primitive* primitive, const Color& color);
     virtual ~AreaLight();
 
@@ -23,6 +24,8 @@
 
     Primitive* getPrimitive() const { return primitive; }
     void setPrimitive(Primitive* new_prim) { primitive = new_prim; }
+
+    void readwrite(ArchiveElement* archive);
   private:
     Primitive* primitive;
     Color color;




  • [Manta] r1845 - trunk/Model/Lights, sparker, 11/09/2007

Archive powered by MHonArc 2.6.16.

Top of page