10 extern __global__ void fractalMandelbrot(uchar4* ptrDevPixels, int w, int h, DomaineMath domaineMath, int n);
\r
11 extern __global__ void fractalJulia(uchar4* ptrDevPixels, int w, int h, DomaineMath domaineMath, int n, float c_r, float c_i);
\r
13 Fractal::Fractal(int w, int h)
\r
17 title("Fractal Cuda")
\r
20 Device::assertDim(dg, db);
\r
25 delete this->ptrDomaineMathInit;
\r
44 DomaineMath* Fractal::getDomaineMathInit()
\r
46 return this->ptrDomaineMathInit;
\r
52 string Fractal::getTitle()
\r
59 FractalMandelbrot::FractalMandelbrot(int w, int h, float dn)
\r
60 : Fractal(w, h), variateurAnimationN(IntervalF(30, 100), dn)
\r
62 this->ptrDomaineMathInit = new DomaineMath(-2, -1.3, 0.8, 1.3);
\r
65 void FractalMandelbrot::animationStep()
\r
67 this->n = this->variateurAnimationN.varierAndGet();
\r
70 float FractalMandelbrot::getT()
\r
75 void FractalMandelbrot::runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath)
\r
77 fractalMandelbrot<<<dg,db>>>(ptrDevPixels, this->w, this->h, domaineMath, static_cast<int>(this->n));
\r
82 FractalJulia::FractalJulia(int w, int h, float dn, float z_r_min, float z_r_max, float z_i_min, float z_i_max)
\r
83 : Fractal(w, h), z_r(z_r_min), z_i(z_i_min), variateurAnimationR(IntervalF(-0.8, -0.7), 0.0005), variateurAnimationI(IntervalF(-0.3, 0.3/*0.15*/), 0.0004)
\r
85 this->ptrDomaineMathInit = new DomaineMath(-1.7, -1.4, 1.7, 1.4);
\r
88 void FractalJulia::animationStep()
\r
90 this->z_r = this->variateurAnimationR.varierAndGet();
\r
91 this->z_i = this->variateurAnimationI.varierAndGet();
\r
94 float FractalJulia::getT()
\r
99 void FractalJulia::runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath)
\r
101 fractalJulia<<<dg,db>>>(ptrDevPixels, this->w, this->h, domaineMath, 300, this->z_r, this->z_i);
\r