NTrace
GPU ray tracing framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CudaAS.hpp
Go to the documentation of this file.
1 
7 #pragma once
8 #include "gpu/Buffer.hpp"
9 #include "io/Stream.hpp"
11 
12 namespace FW
13 {
14 
19 class CudaAS
20 {
21 public:
25  virtual ~CudaAS (void) {}
26 
31  virtual Buffer& getNodeBuffer (void) = 0;
32 
37  virtual Buffer& getTriWoopBuffer (void) = 0;
38 
43  virtual Buffer& getTriIndexBuffer (void) = 0;
44 
49  virtual BVHLayout getLayout (void) const = 0;
50 
51  //virtual Vec2i getNodeSubArray (int idx) const = 0;
52  //virtual Vec2i getTriWoopSubArray (int idx) const = 0;
53 
54  //virtual CudaAS& operator= (CudaAS& other) = 0;
55 
60  virtual void serialize (OutputStream& out) = 0;
61 };
62 
63 }
64 
65 
virtual Buffer & getTriWoopBuffer(void)=0
Returns buffer of woopified triangles.
virtual Buffer & getTriIndexBuffer(void)=0
Returns buffer of triangle indexes.
virtual ~CudaAS(void)
Destructor.
Definition: CudaAS.hpp:25
virtual void serialize(OutputStream &out)=0
Writes buffers to outpu stream.
virtual BVHLayout getLayout(void) const =0
Returns layout of buffers.
virtual Buffer & getNodeBuffer(void)=0
Returns node buffer.
Interface for acceleration structure.
Definition: CudaAS.hpp:19