Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 01_Rippling / moo / host / Rippling.cu
1 #include <iostream>\r
2 #include <assert.h>\r
3 \r
4 #include "Rippling.h"\r
5 #include "Device.h"\r
6 \r
7 using std::cout;\r
8 using std::endl;\r
9 \r
10 /*----------------------------------------------------------------------*\\r
11  |*                     Declaration                                     *|\r
12  \*---------------------------------------------------------------------*/\r
13 \r
14 /*--------------------------------------*\\r
15  |*             Imported                *|\r
16  \*-------------------------------------*/\r
17 \r
18 extern __global__ void rippling(uchar4* ptrDevPixels, int w, int h, float t);\r
19 \r
20 /*--------------------------------------*\\r
21  |*             Public                  *|\r
22  \*-------------------------------------*/\r
23 \r
24 /*--------------------------------------*\\r
25  |*             Private                 *|\r
26  \*-------------------------------------*/\r
27 \r
28 /*----------------------------------------------------------------------*\\r
29  |*                     Implementation                                  *|\r
30  \*---------------------------------------------------------------------*/\r
31 \r
32 /*--------------------------------------*\\r
33  |*             Public                  *|\r
34  \*-------------------------------------*/\r
35 \r
36 /*-------------------------*\\r
37  |*     Constructeur        *|\r
38  \*-------------------------*/\r
39 \r
40 Rippling::Rippling(int w, int h, float dt)\r
41     {\r
42     assert(w == h);\r
43 \r
44     // Inputs\r
45     this->w = w;\r
46     this->h = h;\r
47     this->dt = dt;\r
48 \r
49     // Tools\r
50     //this->dg = // TODO\r
51     //this->db = // TODO\r
52     this->t = 0;\r
53 \r
54     // Outputs\r
55     this->title = "Rippling Cuda";\r
56 \r
57     //print(dg, db);\r
58     Device::assertDim(dg, db);\r
59     }\r
60 \r
61 Rippling::~Rippling()\r
62     {\r
63     // rien\r
64     }\r
65 \r
66 /*-------------------------*\\r
67  |*     Methode             *|\r
68  \*-------------------------*/\r
69 \r
70 /**\r
71  * Override\r
72  */\r
73 void Rippling::animationStep()\r
74     {\r
75     // TODO\r
76     }\r
77 \r
78 /**\r
79  * Override\r
80  */\r
81 void Rippling::runGPU(uchar4* ptrDevPixels)\r
82     {\r
83     // TODO lancer le kernel avec <<<dg,db>>>\r
84     }\r
85 \r
86 /*--------------*\\r
87  |*     get      *|\r
88  \*--------------*/\r
89 \r
90 /**\r
91  * Override\r
92  */\r
93 float Rippling::getT(void)\r
94     {\r
95     return t;\r
96     }\r
97 \r
98 /**\r
99  * Override\r
100  */\r
101 int Rippling::getW(void)\r
102     {\r
103     return w;\r
104     }\r
105 \r
106 /**\r
107  * Override\r
108  */\r
109 int Rippling::getH(void)\r
110     {\r
111     return h;\r
112     }\r
113 \r
114 /**\r
115  * Override\r
116  */\r
117 string Rippling::getTitle(void)\r
118     {\r
119     return title;\r
120     }\r
121 \r
122 /*--------------------------------------*\\r
123  |*             Private                 *|\r
124  \*-------------------------------------*/\r
125 \r
126 /*----------------------------------------------------------------------*\\r
127  |*                     End                                             *|\r
128  \*---------------------------------------------------------------------*/\r
129 \r