X-Git-Url: http://git.euphorik.ch/?p=GPU.git;a=blobdiff_plain;f=WCudaMSE%2FStudent_Cuda_Image%2Fsrc%2Fcpp%2Fcore%2F04_RayTracing%2Fmoo%2Fhost%2FRayTracing.h;fp=WCudaMSE%2FStudent_Cuda_Image%2Fsrc%2Fcpp%2Fcore%2F04_RayTracing%2Fmoo%2Fhost%2FRayTracing.h;h=80729b86160520adb5d4869ddf77a1af4a7f351a;hp=0000000000000000000000000000000000000000;hb=ebdad7dc732d4742d09fd72d312175cb07d27a59;hpb=00dcb50daad8129676832b0b646e675770ee51a0 diff --git a/WCudaMSE/Student_Cuda_Image/src/cpp/core/04_RayTracing/moo/host/RayTracing.h b/WCudaMSE/Student_Cuda_Image/src/cpp/core/04_RayTracing/moo/host/RayTracing.h new file mode 100644 index 0000000..80729b8 --- /dev/null +++ b/WCudaMSE/Student_Cuda_Image/src/cpp/core/04_RayTracing/moo/host/RayTracing.h @@ -0,0 +1,39 @@ +#ifndef RAY_TRACING_H +#define RAY_TRACING_H + +#include "cudaTools.h" +#include "Animable_I.h" +#include "MathTools.h" +#include "Sphere.h" + +class RayTracing : public Animable_I + { + public: + RayTracing(int w, int h); + ~RayTracing(); + + void runGPU(uchar4* ptrDevPixels) /*override*/; + void animationStep() /*override*/; + + int getW() /*override*/; + int getH() /*override*/; + + float getT() /*override*/; + + string getTitle(void) /*override*/; + + private: + Sphere* createSpheres(int n); + + float t; + + const int w; + const int h; + + const dim3 dg; + const dim3 db; + + const string title; + }; + +#endif