X-Git-Url: http://git.euphorik.ch/?p=GPU.git;a=blobdiff_plain;f=WCudaMSE%2FStudent_Cuda_Image%2Fsrc%2Fcpp%2Fcore%2F02_Mandelbrot_Julia%2Fmoo%2Fhost%2FFractal.h;h=d9b884196d85871c228a6af3d74d361a3012fb77;hp=4dbfe650e9467664d5cee0fddbce7617e7261e14;hb=bd178531f80f8bc41c998d1c4588f9e18cc29389;hpb=7798b7c27cf13aaeada22faae8648df8cb339f1b diff --git a/WCudaMSE/Student_Cuda_Image/src/cpp/core/02_Mandelbrot_Julia/moo/host/Fractal.h b/WCudaMSE/Student_Cuda_Image/src/cpp/core/02_Mandelbrot_Julia/moo/host/Fractal.h index 4dbfe65..d9b8841 100755 --- a/WCudaMSE/Student_Cuda_Image/src/cpp/core/02_Mandelbrot_Julia/moo/host/Fractal.h +++ b/WCudaMSE/Student_Cuda_Image/src/cpp/core/02_Mandelbrot_Julia/moo/host/Fractal.h @@ -9,36 +9,59 @@ class Fractal : public AnimableFonctionel_I { public: - Fractal(int w, int h, float dt, int n); - virtual ~Fractal(void); + Fractal(int w, int h); + virtual ~Fractal(); public: - void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/; - void animationStep() /*override*/; + int getW() /*override*/; + int getH() /*override*/; + DomaineMath* getDomaineMathInit() /*override*/; - int getW() /*override*/; - int getH() /*override*/; - DomaineMath* getDomaineMathInit() /*override*/; + string getTitle(void) /*override*/; - float getT() /*override*/; - string getTitle(void) /*override*/; + protected: + // Inputs + const int w; + const int h; + + // Tools + const dim3 dg; + const dim3 db; + + DomaineMath* ptrDomaineMathInit; + + // Outputs + const string title; + }; + +class FractalMandelbrot : public Fractal + { + public: + FractalMandelbrot(int w, int h, float dn); + void animationStep(); + float getT() /*override*/; private: - // Inputs - const int w; - const int h; - int n; + void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/; - // Tools - const dim3 dg; - const dim3 db; - float t; + VariateurF variateurAnimationN; - VariateurF variateurAnimation; - DomaineMath* ptrDomaineMathInit; + float n; + }; + +class FractalJulia : public Fractal + { + public: + FractalJulia(int w, int h, float dn, float z_r_min, float z_r_max, float z_i_min, float z_i_max); + void animationStep(); + float getT() /*override*/; + + private: + void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/; - // Outputs - const string title; + float z_r, z_i; + VariateurF variateurAnimationI; + VariateurF variateurAnimationR; }; #endif