Text archives Help
- From: boulos@sci.utah.edu
- To: manta@sci.utah.edu
- Subject: [MANTA] r1484 - trunk/Model/Lights
- Date: Tue, 17 Jul 2007 14:56:33 -0600 (MDT)
Author: boulos
Date: Tue Jul 17 14:56:33 2007
New Revision: 1484
Modified:
trunk/Model/Lights/AreaLight.cc
Log:
Model/Lights/AreaLight.cc
Missed this file (I'm still learning to use psvn)
Modified: trunk/Model/Lights/AreaLight.cc
==============================================================================
--- trunk/Model/Lights/AreaLight.cc (original)
+++ trunk/Model/Lights/AreaLight.cc Tue Jul 17 14:56:33 2007
@@ -19,16 +19,18 @@
RayPacket& sourceRays) const
{
sourceRays.computeHitPositions();
+ Packet<Vector> positions;
+ Packet<Vector> normals;
+ Packet<Real> pdfs;
+ primitive->getRandomPoints(positions, normals, pdfs, context);
+ // TODO(boulos): SSE version
+
for(int i = sourceRays.begin(); i < sourceRays.end(); i++) {
// Generate a point on the light
- Vector position;
- Vector normal;
- Real pdf;
- primitive->getRandomPoint(position, normal, pdf, context);
- Vector dir = position - sourceRays.getHitPosition(i);
+ Vector dir = positions.get(i) - sourceRays.getHitPosition(i);
Real len = dir.normalize();
- Real cosine = SCIRun::Max(-Dot(dir, normal), Real(0));
- Real solid_pdf = pdf * (len * len / cosine);
+ Real cosine = SCIRun::Max(-Dot(dir, normals.get(i)), Real(0));
+ Real solid_pdf = pdfs.get(i) * (len * len / cosine);
destRays.setDirection(i, dir);
destRays.setColor(i, color / solid_pdf);
destRays.overrideMinT(i, len);
- [MANTA] r1484 - trunk/Model/Lights, boulos, 07/17/2007
Archive powered by MHonArc 2.6.16.