Text archives Help
- From: arobison@sci.utah.edu
- To: manta@sci.utah.edu
- Subject: [Manta] r1861 - trunk/Model/Materials
- Date: Tue, 20 Nov 2007 18:05:33 -0700 (MST)
Author: arobison
Date: Tue Nov 20 18:05:33 2007
New Revision: 1861
Modified:
trunk/Model/Materials/Lambertian.cc
Log:
Fixing BSDF integration coefficient and ONB generation.
Modified: trunk/Model/Materials/Lambertian.cc
==============================================================================
--- trunk/Model/Materials/Lambertian.cc (original)
+++ trunk/Model/Materials/Lambertian.cc Tue Nov 20 18:05:33 2007
@@ -249,7 +249,6 @@
Packet<Real> r2;
context.sample_generator->nextSeeds(context, r2, rays);
rays.computeFFNormals(context);
- rays.computeSurfaceDerivatives(context);
for(int i=rays.begin();i<rays.end();i++){
Real sintheta2 = r1.get(i);
Real sintheta=Sqrt(sintheta2);
@@ -258,12 +257,20 @@
Real cosphi=Cos(phi)*sintheta;
Real sinphi=Sin(phi)*sintheta;
Vector normal = rays.getFFNormal(i);
- Vector v1 = rays.getSurfaceDerivativeU(i);
- Vector v2 = rays.getSurfaceDerivativeV(i);
+ Vector v1 = normal.findPerpendicular();
+ Vector v2 = Cross(v1, normal);
rays.setDirection(i, normal * costheta + v1 * cosphi + v2 * sinphi);
rays.setOrigin(i, rays.getHitPosition(i));
}
+
colortex->mapValues(reflectance, context, rays);
+
+ // Integration normalization correction
+ for(int i = rays.begin(); i != rays.end(); ++i) {
+ for(int j = 0; j < 3; ++j) {
+ reflectance.colordata[j][i] *= 2.0*M_PI;
+ }
+ }
}
- [Manta] r1861 - trunk/Model/Materials, arobison, 11/20/2007
Archive powered by MHonArc 2.6.16.