Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r1716 - in trunk: Engine/Factory Engine/Renderers Interface Model/Cameras


Chronological Thread 
  • From: arobison@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [Manta] r1716 - in trunk: Engine/Factory Engine/Renderers Interface Model/Cameras
  • Date: Tue, 11 Sep 2007 01:15:48 -0600 (MDT)

Author: arobison
Date: Tue Sep 11 01:15:42 2007
New Revision: 1716

Modified:
   trunk/Engine/Factory/RegisterKnownComponents.cc
   trunk/Engine/Renderers/RayGen.cc
   trunk/Engine/Renderers/Raytracer.cc
   trunk/Interface/Camera.h
   trunk/Model/Cameras/CMakeLists.txt
   trunk/Model/Cameras/EnvironmentCamera.cc
   trunk/Model/Cameras/EnvironmentCamera.h
   trunk/Model/Cameras/FisheyeCamera.cc
   trunk/Model/Cameras/FisheyeCamera.h
   trunk/Model/Cameras/OrthogonalCamera.cc
   trunk/Model/Cameras/OrthogonalCamera.h
   trunk/Model/Cameras/PinholeCamera.cc
   trunk/Model/Cameras/PinholeCamera.h
Log:
Changing Camera interface to take the RenderContext.
Adding a first cut thin lens camera, needs to be SSE-ified.

Give it a try with -camera "thinlens(-aperture .03)"



Modified: trunk/Engine/Factory/RegisterKnownComponents.cc
==============================================================================
--- trunk/Engine/Factory/RegisterKnownComponents.cc     (original)
+++ trunk/Engine/Factory/RegisterKnownComponents.cc     Tue Sep 11 01:15:42 
2007
@@ -60,6 +60,7 @@
 #include <Model/Cameras/PinholeCamera.h>
 #include <Model/Cameras/OrthogonalCamera.h>
 #include <Model/Cameras/FisheyeCamera.h>
+#include <Model/Cameras/ThinLensCamera.h>
 #include <Model/Groups/GriddedGroup.h>
 #include <Model/Groups/Group.h>
 // #include <UserInterface/PromptUI.h>
@@ -120,6 +121,7 @@
     //engine->registerComponent("environment", &EnvironmentCamera::create);
     engine->registerComponent("pinhole", &PinholeCamera::create);
     engine->registerComponent("orthogonal", &OrthogonalCamera::create);
+    engine->registerComponent("thinlens", &ThinLensCamera::create);
     //engine->registerComponent("fisheye", &FisheyeCamera::create);
 
     // Register shadow algorithms

Modified: trunk/Engine/Renderers/RayGen.cc
==============================================================================
--- trunk/Engine/Renderers/RayGen.cc    (original)
+++ trunk/Engine/Renderers/RayGen.cc    Tue Sep 11 01:15:42 2007
@@ -43,7 +43,7 @@
 void RayGen::traceEyeRays(const RenderContext& context, RayPacket& rays)
 {
   ASSERT(rays.getFlag(RayPacket::HaveImageCoordinates));
-  context.camera->makeRays(rays);
+  context.camera->makeRays(context, rays);
 }
 
 void RayGen::traceRays(const RenderContext&, RayPacket& rays)

Modified: trunk/Engine/Renderers/Raytracer.cc
==============================================================================
--- trunk/Engine/Renderers/Raytracer.cc (original)
+++ trunk/Engine/Renderers/Raytracer.cc Tue Sep 11 01:15:42 2007
@@ -41,7 +41,7 @@
 void Raytracer::traceEyeRays(const RenderContext& context, RayPacket& rays)
 {
   ASSERT(rays.getFlag(RayPacket::HaveImageCoordinates));
-  context.camera->makeRays(rays);
+  context.camera->makeRays(context, rays);
   rays.initializeImportance();
   traceRays(context, rays);
 }

Modified: trunk/Interface/Camera.h
==============================================================================
--- trunk/Interface/Camera.h    (original)
+++ trunk/Interface/Camera.h    Tue Sep 11 01:15:42 2007
@@ -13,6 +13,7 @@
 
 namespace Manta {
   class PreprocessContext;
+  class RenderContext;
   class RayPacket;
 
   class BasicCameraData {
@@ -47,7 +48,7 @@
     Camera();
     virtual ~Camera();
     virtual void preprocess(const PreprocessContext& context) {};
-    virtual void makeRays(RayPacket&) const = 0;
+    virtual void makeRays(const RenderContext& context, RayPacket&) const = 
0;
 
     // Camera manipulation
     virtual void scaleFOV(Real) = 0;

Modified: trunk/Model/Cameras/CMakeLists.txt
==============================================================================
--- trunk/Model/Cameras/CMakeLists.txt  (original)
+++ trunk/Model/Cameras/CMakeLists.txt  Tue Sep 11 01:15:42 2007
@@ -8,4 +8,6 @@
      Cameras/OrthogonalCamera.cc
      Cameras/FisheyeCamera.h
      Cameras/FisheyeCamera.cc
+     Cameras/ThinLensCamera.h
+     Cameras/ThinLensCamera.cc
      )

Modified: trunk/Model/Cameras/EnvironmentCamera.cc
==============================================================================
--- trunk/Model/Cameras/EnvironmentCamera.cc    (original)
+++ trunk/Model/Cameras/EnvironmentCamera.cc    Tue Sep 11 01:15:42 2007
@@ -137,7 +137,7 @@
   v=-v;
 }
 
-void EnvironmentCamera::makeRays(RayPacket& rays) const
+void EnvironmentCamera::makeRays(const RenderContext& context, RayPacket& 
rays) const
 {
   ASSERT(rays.getAllFlags() & RayPacket::HaveImageCoordinates);
   rays.setFlag(RayPacket::ConstantOrigin);

Modified: trunk/Model/Cameras/EnvironmentCamera.h
==============================================================================
--- trunk/Model/Cameras/EnvironmentCamera.h     (original)
+++ trunk/Model/Cameras/EnvironmentCamera.h     Tue Sep 11 01:15:42 2007
@@ -20,7 +20,7 @@
 
     virtual ~EnvironmentCamera();
     virtual void preprocess(const PreprocessContext& context);
-    virtual void makeRays(RayPacket&) const;
+    virtual void makeRays(const RenderContext& context, RayPacket&) const;
 
     // Camera manipulation
     virtual void scaleFOV(Real);

Modified: trunk/Model/Cameras/FisheyeCamera.cc
==============================================================================
--- trunk/Model/Cameras/FisheyeCamera.cc        (original)
+++ trunk/Model/Cameras/FisheyeCamera.cc        Tue Sep 11 01:15:42 2007
@@ -113,7 +113,7 @@
   u.normalize();
 }
 
-void FisheyeCamera::makeRays(RayPacket& rays) const
+void FisheyeCamera::makeRays(const RenderContext& context, RayPacket& rays) 
const
 {
   ASSERT(rays.getFlag(RayPacket::HaveImageCoordinates) );
   rays.setFlag(RayPacket::ConstantOrigin|RayPacket::NormalizedDirections);

Modified: trunk/Model/Cameras/FisheyeCamera.h
==============================================================================
--- trunk/Model/Cameras/FisheyeCamera.h (original)
+++ trunk/Model/Cameras/FisheyeCamera.h Tue Sep 11 01:15:42 2007
@@ -22,7 +22,7 @@
 
     virtual ~FisheyeCamera();
     virtual void preprocess(const PreprocessContext& context);
-    virtual void makeRays(RayPacket&) const;
+    virtual void makeRays(const RenderContext& context, RayPacket&) const;
 
     // Camera manipulation
     virtual void scaleFOV(Real);

Modified: trunk/Model/Cameras/OrthogonalCamera.cc
==============================================================================
--- trunk/Model/Cameras/OrthogonalCamera.cc     (original)
+++ trunk/Model/Cameras/OrthogonalCamera.cc     Tue Sep 11 01:15:42 2007
@@ -101,7 +101,7 @@
   v*=hscale;
 }
 
-void OrthogonalCamera::makeRays(RayPacket& rays) const
+void OrthogonalCamera::makeRays(const RenderContext& context, RayPacket& 
rays) const
 {
   ASSERT(rays.getFlag(RayPacket::HaveImageCoordinates));
 

Modified: trunk/Model/Cameras/OrthogonalCamera.h
==============================================================================
--- trunk/Model/Cameras/OrthogonalCamera.h      (original)
+++ trunk/Model/Cameras/OrthogonalCamera.h      Tue Sep 11 01:15:42 2007
@@ -11,6 +11,7 @@
 
 namespace Manta {
   using namespace std;
+
   class OrthogonalCamera : public Camera {
   public:
     OrthogonalCamera(const Vector& eye_, const Vector& lookat_,
@@ -18,7 +19,7 @@
     OrthogonalCamera(const vector<string>& args);
     virtual void preprocess(const PreprocessContext& context);
     virtual ~OrthogonalCamera();
-    virtual void makeRays(RayPacket&) const;
+    virtual void makeRays(const RenderContext& context, RayPacket&) const;
 
     // Camera manipulation
     virtual void scaleFOV(Real);

Modified: trunk/Model/Cameras/PinholeCamera.cc
==============================================================================
--- trunk/Model/Cameras/PinholeCamera.cc        (original)
+++ trunk/Model/Cameras/PinholeCamera.cc        Tue Sep 11 01:15:42 2007
@@ -152,7 +152,7 @@
 
 }
 
-void PinholeCamera::makeRays(RayPacket& rays) const
+void PinholeCamera::makeRays(const RenderContext& context, RayPacket& rays) 
const
 {
   ASSERT(rays.getFlag(RayPacket::HaveImageCoordinates));
   ASSERT(rays.getFlag(RayPacket::ConstantEye));

Modified: trunk/Model/Cameras/PinholeCamera.h
==============================================================================
--- trunk/Model/Cameras/PinholeCamera.h (original)
+++ trunk/Model/Cameras/PinholeCamera.h Tue Sep 11 01:15:42 2007
@@ -20,7 +20,7 @@
     PinholeCamera(const vector<string>& args);
     virtual ~PinholeCamera();
     virtual void preprocess(const PreprocessContext& context);
-    virtual void makeRays(RayPacket&) const;
+    virtual void makeRays(const RenderContext& context, RayPacket&) const;
 
     // Camera manipulation
     virtual void scaleFOV(Real);




  • [Manta] r1716 - in trunk: Engine/Factory Engine/Renderers Interface Model/Cameras, arobison, 09/11/2007

Archive powered by MHonArc 2.6.16.

Top of page