Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r1713 - trunk/Interface


Chronological Thread 
  • From: arobison@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [Manta] r1713 - trunk/Interface
  • Date: Wed, 5 Sep 2007 19:23:24 -0600 (MDT)

Author: arobison
Date: Wed Sep  5 19:23:24 2007
New Revision: 1713

Modified:
   trunk/Interface/Primitive.cc
   trunk/Interface/RayPacket.h
Log:
Changing the surface derivative interface to access dPdu and dPdv 
separately.


Modified: trunk/Interface/Primitive.cc
==============================================================================
--- trunk/Interface/Primitive.cc        (original)
+++ trunk/Interface/Primitive.cc        Wed Sep  5 19:23:24 2007
@@ -28,7 +28,8 @@
   for (int i = rays.begin(); i < rays.end(); i++) {
     Vector U = rays.getNormal(i).findPerpendicular();
     Vector V = Cross(rays.getNormal(i), U);
-    rays.setSurfaceDerivatives(i, U, V);
+    rays.setSurfaceDerivativeU(i, U);
+    rays.setSurfaceDerivativeV(i, V);
   }
   rays.setFlag(RayPacket::HaveSurfaceDerivatives);
 }

Modified: trunk/Interface/RayPacket.h
==============================================================================
--- trunk/Interface/RayPacket.h (original)
+++ trunk/Interface/RayPacket.h Wed Sep  5 19:23:24 2007
@@ -734,10 +734,11 @@
       for(int i=0;i<3;i++)
         data->ffnormal[i][which] = normal[i];
     }
-    void setSurfaceDerivatives(int which, const Vector& u, const Vector& v)
-    {
+    void setSurfaceDerivativeU(int which, const Vector& u) {
       for(int i=0;i<3;i++)
         data->dPdu[i][which] = u[i];
+    }
+    void setSurfaceDerivativeV(int which, const Vector& v) {
       for(int i=0;i<3;i++)
         data->dPdv[i][which] = v[i];
     }
@@ -749,9 +750,11 @@
     {
       return Vector(data->ffnormal[0][which], data->ffnormal[1][which], 
data->ffnormal[2][which]);
     }
-    void getSurfaceDerivatives(int which, Vector& u, Vector& v) {
-      u = Vector(data->dPdu[0][which], data->dPdu[1][which], 
data->dPdu[2][which]);
-      v = Vector(data->dPdv[0][which], data->dPdv[1][which], 
data->dPdv[2][which]);
+    Vector getSurfaceDerivativeU(int which) const {
+      return Vector(data->dPdu[0][which], data->dPdu[1][which], 
data->dPdu[2][which]);
+    }
+    Vector getSurfaceDerivativeV(int which) const {
+      return Vector(data->dPdv[0][which], data->dPdv[1][which], 
data->dPdv[2][which]);
     }
     void computeNormals(const RenderContext& context)
     {




  • [Manta] r1713 - trunk/Interface, arobison, 09/05/2007

Archive powered by MHonArc 2.6.16.

Top of page