Correction de probl?me de compilation li? a RayTracing.
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 03_Newton / moo / host / Newton.cu
index 685fb5e..eaa92ea 100755 (executable)
@@ -5,18 +5,17 @@ using namespace std;
 \r
 #include "Newton.h"\r
 #include "Device.h"\r
+#include "NewtonDevice.h"\r
 \r
-extern __global__ void newton(uchar4* ptrDevPixels, int w, int h, DomaineMath domaineMath);\r
-\r
-Newton::Newton(int w, int h)\r
-    : variateurAnimation(IntervalF(30, 100), 1),\r
-      w(w), h(h),\r
-      dg(8, 8, 1),\r
-      db(16, 16, 1),\r
-      ptrDomaineMathInit(new DomaineMath(-2, -2, 2, 2)),\r
-      title("Fractal Newton")\r
+Newton::Newton(int w, int h) :\r
+    variateurEpsilon(IntervalF(0.01, 1), 0.001),\r
+    w(w),\r
+    h(h),\r
+    dg(8, 8, 1),\r
+    db(32, 32, 1),\r
+    ptrDomaineMathInit(new DomaineMath(-2, -2, 2, 2)),\r
+    title("Fractal Newton")\r
     {\r
-    // print(dg, db);\r
     Device::assertDim(dg, db);\r
     }\r
 \r
@@ -27,12 +26,14 @@ Newton::~Newton()
 \r
 void Newton::runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath)\r
     {\r
-    newton<<<dg,db>>>(ptrDevPixels, this->w, this->h, domaineMath);\r
+    newton<<<dg,db>>>(ptrDevPixels, this->w, this->h, domaineMath, 100, this->epsilon);\r
+\r
+    HANDLE_ERROR(cudaDeviceSynchronize()); // Pour flusher les 'printf' (pour le DEBUG).\r
     }\r
 \r
 void Newton::animationStep()\r
     {\r
-    this->t = this->variateurAnimation.varierAndGet();\r
+    this->epsilon = this->variateurEpsilon.varierAndGet();\r
     }\r
 \r
 int Newton::getW()\r
@@ -52,7 +53,12 @@ DomaineMath* Newton::getDomaineMathInit()
 \r
 float Newton::getT()\r
     {\r
-    return 0;\r
+    return this->epsilon;\r
+    }\r
+\r
+string Newton::getTName()\r
+    {\r
+    return "epsilon : ";\r
     }\r
 \r
 string Newton::getTitle()\r