4 #include "Indice2D.h"
\r
5 #include "IndiceTools.h"
\r
6 #include "cudaTools.h"
\r
9 #include "Vague0Math.h"
\r
14 /*----------------------------------------------------------------------*\
\r
16 \*---------------------------------------------------------------------*/
\r
18 /*--------------------------------------*\
\r
20 \*-------------------------------------*/
\r
22 /*--------------------------------------*\
\r
24 \*-------------------------------------*/
\r
26 /*--------------------------------------*\
\r
28 \*-------------------------------------*/
\r
30 static __global__ void vague0(uchar4* ptrDevPixels,int w, int h,float t);
\r
32 /*----------------------------------------------------------------------*\
\r
33 |* Implementation *|
\r
34 \*---------------------------------------------------------------------*/
\r
36 /*--------------------------------------*\
\r
38 \*-------------------------------------*/
\r
40 void launchKernelVague0(uchar4* ptrDevPixels, int w, int h, float t)
\r
42 dim3 dg = dim3(8, 8, 1); // disons, a optimiser !!
\r
43 dim3 db = dim3(16, 16, 1); // disons, a optimiser !!
\r
45 //Device::print(dg, db);
\r
46 Device::checkDimError(dg,db);
\r
48 vague0<<<dg,db>>>(ptrDevPixels,w,h,t);
\r
49 Device::checkKernelError("vague0");
\r
52 /*--------------------------------------*\
\r
54 \*-------------------------------------*/
\r
56 __global__ void vague0(uchar4* ptrDevPixels, int w, int h, float t)
\r
58 Vague0Math vague0Math = Vague0Math(w, h);
\r
60 const int TID = Indice2D::tid();
\r
61 const int NB_THREAD = Indice2D::nbThread();
\r
73 IndiceTools::toIJ(s, w, &pixelI, &pixelJ); // update (pixelI, pixelJ)
\r
75 vague0Math.colorIJ(&color,pixelI, pixelJ, t); // update color
\r
76 ptrDevPixels[s] = color;
\r
83 /*----------------------------------------------------------------------*\
\r
85 \*---------------------------------------------------------------------*/
\r