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