using std::cout;\r
using std::endl;\r
\r
-__device__ void fractal(uchar4* ptrDevPixels, int w, int h, const DomaineMath& domaineMath, int n, const FractalMath& fractalMath)\r
+__device__ void fractal(uchar4* ptrDevPixels, int w, int hFrom, int hTo, const DomaineMath& domaineMath, int n, const FractalMath& fractalMath)\r
{\r
const int TID = Indice2D::tid();\r
const int NB_THREAD = Indice2D::nbThread();\r
- const int WH = w * h;\r
+ const int WH = w * (hTo - hFrom);\r
\r
uchar4 color;\r
color.z = 255; // Par défaut, l'image est opaque.\r
\r
// (i,j) domaine écran\r
// (x,y) domaine math\r
- domaineMath.toXY(pixelI, pixelJ, &x, &y); // (i,j) -> (x,y)\r
+ domaineMath.toXY(pixelI + hFrom, pixelJ, &x, &y); // (i,j) -> (x,y)\r
\r
fractalMath.colorXY(&color, x, y);\r
\r
}\r
}\r
\r
-__global__ void fractalMandelbrot(uchar4* ptrDevPixels, int w, int h, DomaineMath domaineMath, int n)\r
+__global__ void fractalMandelbrot(uchar4* ptrDevPixels, int w, int hFrom, int hTo, DomaineMath domaineMath, int n)\r
{\r
FractalMandelbrotMath fractalMath(n);\r
- fractal(ptrDevPixels, w, h, domaineMath, n, fractalMath);\r
+ fractal(ptrDevPixels, w, hFrom, hTo, domaineMath, n, fractalMath);\r
}\r
\r
__global__ void fractalJulia(uchar4* ptrDevPixels, int w, int h, DomaineMath domaineMath, int n, float c_r, float c_i)\r
{\r
FractalJuliaMath fractalMath(n, c_r, c_i);\r
- fractal(ptrDevPixels, w, h, domaineMath, n, fractalMath);\r
+ fractal(ptrDevPixels, w, 0, h, domaineMath, n, fractalMath);\r
}\r
\r