Commencement du labo Mandelbrot et Julia.
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 02_Mandelbrot_Julia / moo / host / Fractal.h
1 #ifndef FRACTAL_H_
2 #define FRACTAL_H_
3
4 #include "cudaTools.h"
5 #include "AnimableFonctionel_I.h"
6 #include "MathTools.h"
7 #include "VariateurF.h"
8
9 class Fractal : public AnimableFonctionel_I
10 {
11 public:
12 Fractal(int w, int h, float dt, int n);
13 virtual ~Fractal(void);
14
15 public:
16 void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/;
17 void animationStep() /*override*/;
18
19 int getW() /*override*/;
20 int getH() /*override*/;
21 DomaineMath* getDomaineMathInit() /*override*/;
22
23 float getT() /*override*/;
24 string getTitle(void) /*override*/;
25
26 private:
27 // Inputs
28 const int w;
29 const int h;
30 int n;
31
32 // Tools
33 const dim3 dg;
34 const dim3 db;
35 float t;
36
37 VariateurF variateurAnimation;
38 DomaineMath* ptrDomaineMathInit;
39
40 // Outputs
41 const string title;
42 };
43
44 #endif