NTrace
GPU ray tracing framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CudaVirtualTracer.hpp
Go to the documentation of this file.
1 
2 #pragma once
3 #include "gpu/CudaCompiler.hpp"
4 #include "cuda/CudaBVH.hpp"
5 #include "ray/RayBuffer.hpp"
6 
7 namespace FW
8 {
9 //------------------------------------------------------------------------
10 
12 {
13 public:
14  virtual ~CudaVirtualTracer (void) {}
15 
16  virtual void setMessageWindow (Window* window) = 0;
17  virtual void setKernel (const String& kernelName) = 0;
18  virtual BVHLayout getDesiredBVHLayout (void) const = 0;
19  virtual void setBVH (CudaAS* as) = 0;
20  void setScene (Scene* scene) { m_scene = scene; }
21 
22  virtual F32 traceBatch (RayBuffer& rays) = 0; // returns launch time in seconds
23 
25 };
26 
27 }
void setScene(Scene *scene)
virtual void setBVH(CudaAS *as)=0
virtual BVHLayout getDesiredBVHLayout(void) const =0
virtual F32 traceBatch(RayBuffer &rays)=0
float F32
Definition: Defs.hpp:89
Ray buffer class. Stores rays.
Definition: RayBuffer.hpp:38
Declarations for the Cuda version of the BVH.
virtual ~CudaVirtualTracer(void)
Class holding 3d scene.
Definition: Scene.hpp:44
virtual void setKernel(const String &kernelName)=0
virtual void setMessageWindow(Window *window)=0
Interface for acceleration structure.
Definition: CudaAS.hpp:19