Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 01_Rippling / moo / host / Rippling.cu
diff --git a/WCudaMSE/Student_Cuda_Image/src/cpp/core/01_Rippling/moo/host/Rippling.cu b/WCudaMSE/Student_Cuda_Image/src/cpp/core/01_Rippling/moo/host/Rippling.cu
new file mode 100755 (executable)
index 0000000..6bd9e0c
--- /dev/null
@@ -0,0 +1,129 @@
+#include <iostream>\r
+#include <assert.h>\r
+\r
+#include "Rippling.h"\r
+#include "Device.h"\r
+\r
+using std::cout;\r
+using std::endl;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Declaration                                     *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Imported                *|\r
+ \*-------------------------------------*/\r
+\r
+extern __global__ void rippling(uchar4* ptrDevPixels, int w, int h, float t);\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Implementation                                  *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+/*-------------------------*\\r
+ |*    Constructeur        *|\r
+ \*-------------------------*/\r
+\r
+Rippling::Rippling(int w, int h, float dt)\r
+    {\r
+    assert(w == h);\r
+\r
+    // Inputs\r
+    this->w = w;\r
+    this->h = h;\r
+    this->dt = dt;\r
+\r
+    // Tools\r
+    //this->dg = // TODO\r
+    //this->db = // TODO\r
+    this->t = 0;\r
+\r
+    // Outputs\r
+    this->title = "Rippling Cuda";\r
+\r
+    //print(dg, db);\r
+    Device::assertDim(dg, db);\r
+    }\r
+\r
+Rippling::~Rippling()\r
+    {\r
+    // rien\r
+    }\r
+\r
+/*-------------------------*\\r
+ |*    Methode             *|\r
+ \*-------------------------*/\r
+\r
+/**\r
+ * Override\r
+ */\r
+void Rippling::animationStep()\r
+    {\r
+    // TODO\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+void Rippling::runGPU(uchar4* ptrDevPixels)\r
+    {\r
+    // TODO lancer le kernel avec <<<dg,db>>>\r
+    }\r
+\r
+/*--------------*\\r
+ |*    get      *|\r
+ \*--------------*/\r
+\r
+/**\r
+ * Override\r
+ */\r
+float Rippling::getT(void)\r
+    {\r
+    return t;\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+int Rippling::getW(void)\r
+    {\r
+    return w;\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+int Rippling::getH(void)\r
+    {\r
+    return h;\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+string Rippling::getTitle(void)\r
+    {\r
+    return title;\r
+    }\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r
+\r