Implémentation de RipplingMOO (entralecement + auto-for).
[GPU.git] / WCudaMSE / Student_OMP_Image / src / cpp / core / 01_Rippling / b_moo / RipplingMOO.h
1 #ifndef RIPPLING_MOO_H_
2 #define RIPPLING_MOO_H_
3
4 #include "cudaType.h"
5
6 /*----------------------------------------------------------------------*\
7 |* Declaration *|
8 \*---------------------------------------------------------------------*/
9
10 /*--------------------------------------*\
11 |* Public *|
12 \*-------------------------------------*/
13
14 class RipplingMOO
15 {
16
17 /*--------------------------------------*\
18 |* Constructeur *|
19 \*-------------------------------------*/
20
21 public:
22
23 RipplingMOO(unsigned int w, unsigned int h, float dt);
24 virtual ~RipplingMOO(void);
25
26 /*--------------------------------------*\
27 |* Methode *|
28 \*-------------------------------------*/
29
30 public:
31
32 void process(uchar4* ptrTabPixels, int w, int h);
33 void animationStep();
34 float getT();
35
36 private:
37
38 void entrelacementOMP(uchar4* ptrTabPixels); // Code entrainement Cuda
39 void forAutoOMP(uchar4* ptrTabPixels); // Code naturel et direct OMP, plus performsnt
40
41 /*--------------------------------------*\
42 |* Attribut *|
43 \*-------------------------------------*/
44
45 private:
46 const unsigned int w;
47 const unsigned int h;
48
49 // Inputs
50 const double dt;
51
52 // Tools
53 double t;
54 bool isEntrelacement;
55 };
56
57 #endif
58
59 /*----------------------------------------------------------------------*\
60 |* End *|
61 \*---------------------------------------------------------------------*/