int getH() /*override*/;\r
DomaineMath* getDomaineMathInit() /*override*/;\r
\r
- string getTitle(void) /*override*/;\r
-\r
protected:\r
// Inputs\r
const int w;\r
const dim3 db;\r
\r
DomaineMath* ptrDomaineMathInit;\r
-\r
- // Outputs\r
- const string title;\r
};\r
\r
class FractalMandelbrot : public Fractal\r
{\r
public:\r
- FractalMandelbrot(int w, int h, int dn);\r
+ FractalMandelbrot(int w, int h, int dn, bool multiGPU = false);\r
void animationStep();\r
\r
std::vector<std::string> getNames();\r
void getValues(float* values);\r
\r
+ std::string getTitle();\r
+\r
private:\r
- void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/;\r
+ void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath);\r
\r
VariateurI variateurAnimationN;\r
int n;\r
+\r
+ string title;\r
+\r
+ // Utilisé uniquement dans le cadre du multi-GPU.\r
+ bool multiGPU;\r
+ uchar4** ptrDevPixelsMultGPU; // La mémoire alloué pour les GPU autres que le premier\r
+ int hFirstDevice; // Hauteur de l'image à traiter par le premier GPU.\r
+ int hDevices; // Hauteur de l'image à traiter par les autres GPU.\r
};\r
\r
class FractalJulia : public Fractal\r
std::vector<std::string> getNames();\r
void getValues(float* values);\r
\r
+ std::string getTitle();\r
+\r
private:\r
- void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/;\r
+ void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath);\r
\r
const int n;\r
\r