Ray tracing (pas termine).
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 04_RayTracing / moo / host / RayTracing.h
1 #ifndef RAY_TRACING_H
2 #define RAY_TRACING_H
3
4 #include "cudaTools.h"
5 #include "Animable_I.h"
6 #include "MathTools.h"
7 #include "Sphere.h"
8
9 class RayTracing : public Animable_I
10 {
11 public:
12 RayTracing(int w, int h);
13 ~RayTracing();
14
15 void runGPU(uchar4* ptrDevPixels) /*override*/;
16 void animationStep() /*override*/;
17
18 int getW() /*override*/;
19 int getH() /*override*/;
20
21 float getT() /*override*/;
22
23 string getTitle(void) /*override*/;
24
25 private:
26 Sphere* createSpheres(int n);
27
28 float t;
29
30 const int w;
31 const int h;
32
33 const dim3 dg;
34 const dim3 db;
35
36 const string title;
37 };
38
39 #endif