Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r1618 - in trunk: Interface Model/Materials


Chronological Thread 
  • From: leenak@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [MANTA] r1618 - in trunk: Interface Model/Materials
  • Date: Thu, 9 Aug 2007 17:26:19 -0600 (MDT)

Author: leenak
Date: Thu Aug  9 17:26:19 2007
New Revision: 1618

Modified:
   trunk/Interface/RayPacket.cc
   trunk/Interface/RayPacket.h
   trunk/Model/Materials/OrenNayar.cc
   trunk/Model/Materials/OrenNayar.h
Log:
tabs have been removed and OrenNayar classes have been properly indentted

Modified: trunk/Interface/RayPacket.cc
==============================================================================
--- trunk/Interface/RayPacket.cc        (original)
+++ trunk/Interface/RayPacket.cc        Thu Aug  9 17:26:19 2007
@@ -113,35 +113,35 @@
 void RayPacket::actualComputeHitPositions()
 {
 #ifdef MANTA_SSE
-    int b = (rayBegin + 3) & (~3);
-    int e = rayEnd & (~3);
-    if(b == e){
-      for(int i = begin(); i < end(); i++){
-        for(int j=0;j<3;j++)
-          data->hitPosition[j][i] = data->origin[j][i] + 
data->direction[j][i] * data->minT[i];
-      }
-    } else {
-      int i = rayBegin;
-      for(;i<b;i++){
-        for(int j=0;j<3;j++)
-          data->hitPosition[j][i] = data->origin[j][i] + 
data->direction[j][i] * data->minT[i];
-      }
-      for(;i<e;i+=4){
-        __m128 minT = _mm_load_ps(&data->minT[i]);
-        _mm_store_ps(&data->hitPosition[0][i], 
_mm_add_ps(_mm_load_ps(&data->origin[0][i]), 
_mm_mul_ps(_mm_load_ps(&data->direction[0][i]), minT)));
-        _mm_store_ps(&data->hitPosition[1][i], 
_mm_add_ps(_mm_load_ps(&data->origin[1][i]), 
_mm_mul_ps(_mm_load_ps(&data->direction[1][i]), minT)));
-        _mm_store_ps(&data->hitPosition[2][i], 
_mm_add_ps(_mm_load_ps(&data->origin[2][i]), 
_mm_mul_ps(_mm_load_ps(&data->direction[2][i]), minT)));
-      }
-      for(;i<rayEnd;i++){
-        for(int j=0;j<3;j++)
-          data->hitPosition[j][i] = data->origin[j][i] + 
data->direction[j][i] * data->minT[i];
-      }
-    }
+       int b = (rayBegin + 3) & (~3);
+       int e = rayEnd & (~3);
+       if(b == e){
+               for(int i = begin(); i < end(); i++){
+                       for(int j=0;j<3;j++)
+                               data->hitPosition[j][i] = data->origin[j][i] 
+ data->direction[j][i] * data->minT[i];
+               }
+       } else {
+               int i = rayBegin;
+               for(;i<b;i++){
+                       for(int j=0;j<3;j++)
+                               data->hitPosition[j][i] = data->origin[j][i] 
+ data->direction[j][i] * data->minT[i];
+               }
+               for(;i<e;i+=4){
+                       __m128 minT = _mm_load_ps(&data->minT[i]);
+                       _mm_store_ps(&data->hitPosition[0][i], 
_mm_add_ps(_mm_load_ps(&data->origin[0][i]), 
_mm_mul_ps(_mm_load_ps(&data->direction[0][i]), minT)));
+                       _mm_store_ps(&data->hitPosition[1][i], 
_mm_add_ps(_mm_load_ps(&data->origin[1][i]), 
_mm_mul_ps(_mm_load_ps(&data->direction[1][i]), minT)));
+                       _mm_store_ps(&data->hitPosition[2][i], 
_mm_add_ps(_mm_load_ps(&data->origin[2][i]), 
_mm_mul_ps(_mm_load_ps(&data->direction[2][i]), minT)));
+               }
+               for(;i<rayEnd;i++){
+                       for(int j=0;j<3;j++)
+                               data->hitPosition[j][i] = data->origin[j][i] 
+ data->direction[j][i] * data->minT[i];
+               }
+       }
 #else
-    for(int i = rayBegin; i < rayEnd; i++){
-      for(int j=0;j<3;j++)
-        data->hitPosition[j][i] = data->origin[j][i] + data->direction[j][i] 
* data->minT[i];
-    }
+       for(int i = rayBegin; i < rayEnd; i++){
+               for(int j=0;j<3;j++)
+                       data->hitPosition[j][i] = data->origin[j][i] + 
data->direction[j][i] * data->minT[i];
+       }
 #endif
   flags |= HaveHitPositions;
 }
@@ -182,15 +182,15 @@
   for(int i = rayBegin; i < rayEnd; ++i) {
     // Compute the dot product
     Vector normal(getNormal(i));
-       side[i] = Dot(normal, getDirection(i));
-       data->side[i]=side[i];
+    side[i] = Dot(normal, getDirection(i));
+    data->side[i]=side[i];
     if (side[i] <= 0)
       setFFNormal(i,  normal);
     else {
       setFFNormal(i, -normal);
       side[i]=-side[i];
-         data->side[i]=side[i];
-       }
+      data->side[i]=side[i];
+    }
   }
 
   flags |= HaveFFNormals;

Modified: trunk/Interface/RayPacket.h
==============================================================================
--- trunk/Interface/RayPacket.h (original)
+++ trunk/Interface/RayPacket.h Thu Aug  9 17:26:19 2007
@@ -97,7 +97,7 @@
     MANTA_ALIGN(16) Real direction[3][MaxSize];
     MANTA_ALIGN(16) Real inverseDirection[3][MaxSize];
     MANTA_ALIGN(16) Real minT[MaxSize];
-       MANTA_ALIGN(16) Real side[MaxSize]; //To store dot product values
+               MANTA_ALIGN(16) Real side[MaxSize]; //To store dot product 
values
 
     MANTA_ALIGN(16) Real image[2][MaxSize];
     MANTA_ALIGN(16) Real normal[3][MaxSize];
@@ -162,17 +162,17 @@
     // Create a "toplevel" raypacket.  You need to call resetHits or
     // resetHit for every data element in the ray packet before you
     // start intersecting.  This will initialize minT and hitMatl.
-    RayPacket(RayPacketData& data, PacketShape shape, int rayBegin, int 
rayEnd,
-              int depth, int flags)
-      : data(&data), shape(shape), rayBegin(rayBegin), rayEnd(rayEnd),
-        depth(depth), flags(flags)
-      {
-      }
+       RayPacket(RayPacketData& data, PacketShape shape, int rayBegin, int 
rayEnd,
+                                               int depth, int flags)
+               : data(&data), shape(shape), rayBegin(rayBegin), 
rayEnd(rayEnd),
+                       depth(depth), flags(flags)
+               {
+               }
 
     // Create a subset of another raypacket
-    RayPacket(RayPacket& parent, int rayBegin, int rayEnd)
-      : data(parent.data), rayBegin(rayBegin), rayEnd(rayEnd),
-        depth(parent.depth), flags(parent.flags)
+       RayPacket(RayPacket& parent, int rayBegin, int rayEnd)
+               : data(parent.data), rayBegin(rayBegin), rayEnd(rayEnd),
+                       depth(parent.depth), flags(parent.flags)
       {
         shape = parent.shape;
         if(shape == SquarePacket){
@@ -182,8 +182,8 @@
       }
 
     ~RayPacket()
-    {
-    }
+                       {
+                       }
 
     // Raypacket flags
     int getAllFlags() const
@@ -292,9 +292,9 @@
     }
 
     Real &getOrigin(int which, int i)
-    {
-      return data->origin[i][which];
-    }
+               {
+                               return data->origin[i][which];
+               }
     const Real &getOrigin(int which, int i) const
     {
       return data->origin[i][which];
@@ -308,9 +308,9 @@
     }
 
     Real &getDirection(int which, int i)
-    {
-      return data->direction[i][which];
-    }
+                       {
+                               return data->direction[i][which];
+                       }
     const Real &getDirection(int which, int i) const
     {
       return data->direction[i][which];
@@ -324,9 +324,9 @@
     }
 
     Real &getInverseDirection(int which, int i)
-    {
-      return data->inverseDirection[i][which];
-    }
+                       {
+                               return data->inverseDirection[i][which];
+                       }
 
     const Real &getInverseDirection(int which, int i) const
     {
@@ -366,9 +366,9 @@
       flags |= ConstantSigns;
     }
     VectorT<int, 3> getSigns(int which) const
-    {
-      return VectorT<int, 3>(data->signs[0][which], data->signs[1][which], 
data->signs[2][which]);
-    }
+                       {
+                               return VectorT<int, 3>(data->signs[0][which], 
data->signs[1][which], data->signs[2][which]);
+                       }
     int getSign(int which, int sign) const
     {
       return data->signs[sign][which];
@@ -443,9 +443,9 @@
 #endif
     }
     Real &getMinT(int which) const
-    {
-      return data->minT[which];
-    }
+                       {
+                               return data->minT[which];
+                       }
     void scaleMinT(int which, Real scale)
     {
       data->minT[which] *= scale;
@@ -571,7 +571,7 @@
     }
     // No mask
     inline __m128 hit(int start, __m128 t, const Material* matl,
-                    const Primitive* prim, const TexCoordMapper* tex) {
+                                                                             
          const Primitive* prim, const TexCoordMapper* tex) {
       __m128 mask = _mm_cmpgt_ps(t, _mm_set1_ps(T_EPSILON));
       return hitFinal(start, mask, t, matl, prim, tex);
     }
@@ -697,9 +697,9 @@
       return Vector(data->texCoords[0][which], data->texCoords[1][which], 
data->texCoords[2][which]);
     }
     VectorT<Real, 2> getTexCoords2(int which) const
-    {
-      return VectorT<Real, 2>(data->texCoords[0][which], 
data->texCoords[1][which]);
-    }
+               {
+                               return VectorT<Real, 
2>(data->texCoords[0][which], data->texCoords[1][which]);
+               }
 
     Real getTexCoords2(int which, int dim)
     {
@@ -821,7 +821,7 @@
     int rayEnd;
     int depth;
     int flags;
-       Real side[MaxSize]; //To store dot product values
+               Real side[MaxSize]; //To store dot product values
   };
 
   typedef MANTA_ALIGN(16) Color::ComponentType 
ColorArray[Color::NumComponents][RayPacket::MaxSize];

Modified: trunk/Model/Materials/OrenNayar.cc
==============================================================================
--- trunk/Model/Materials/OrenNayar.cc  (original)
+++ trunk/Model/Materials/OrenNayar.cc  Thu Aug  9 17:26:19 2007
@@ -105,16 +105,16 @@
         Vector shadowdir = shadowRays.getDirection(i);
         ColorComponent cos_phi = Dot(shadowdir, normal);
         Color light = shadowRays.getColor(i);
-               Real theta=acos(cos_theta[i]);
-               Real phi=acos(cos_phi);
-               
-               Real alpha, beta;
-               (theta > phi)? alpha = theta : alpha = phi;
-               (theta < phi)? beta = theta : beta = phi;
-               
-               Real max_value;
-               (0 < cos(theta-phi))? max_value =  cos(theta-phi) : max_value 
= 0;
-               
+        Real theta=acos(cos_theta[i]);
+        Real phi=acos(cos_phi);
+    
+        Real alpha, beta;
+        (theta > phi)? alpha = theta : alpha = phi;
+        (theta < phi)? beta = theta : beta = phi;
+    
+        Real max_value;
+        (0 < cos(theta-phi))? max_value =  cos(theta-phi) : max_value = 0;
+    
         for(int k = 0; k < Color::NumComponents;k++)
           totalLight[k][i] += 
light[k]*(0.6*cos_phi)*(a+b*max_value*sin(alpha)*tan(beta));
       }

Modified: trunk/Model/Materials/OrenNayar.h
==============================================================================
--- trunk/Model/Materials/OrenNayar.h   (original)
+++ trunk/Model/Materials/OrenNayar.h   Thu Aug  9 17:26:19 2007
@@ -45,18 +45,18 @@
 namespace Manta{
   class LightSet;
 
-  class OrenNayar : public LitMaterial {
+ class OrenNayar : public LitMaterial {
   public:
     OrenNayar(const Color& color, const Real sigma);
     OrenNayar(const Texture<Color>* colorfn);
-       OrenNayar() {  };
+    OrenNayar() {  };
     virtual ~OrenNayar();
 
     virtual void shade(const RenderContext& context, RayPacket& rays) const;
   private:
     Real a, b;
     const Texture<Color>* colortex;
-       
+        
   };
 }
 




  • [MANTA] r1618 - in trunk: Interface Model/Materials, leenak, 08/09/2007

Archive powered by MHonArc 2.6.16.

Top of page