Bonjour, j'ai déjà cherché des informations sur le sujet et testé un code mais quelque chose ne vas pas, est-ce que j'ai mal compris le principe ou est-ce que j'ai fait un faute d'étourderie, je ne sais pas et après avoir tenté pas mal de choses je voudrais avoir un avis extérieur
.
(Le code a pour but de dessiner la fractale de Mandelbrot pixel par pixel)
Je crée mon tableau de pixels :
const sf::Uint8 *Generator::update(Seed seed)
{
if(m_image) delete m_image;
m_image = new sf::Uint8[seed.getSize().x*seed.getSize().y*4];
for(int x(0) ; x!=seed.getSize().x ; ++x)
{
for(int y(0) ; y!=seed.getSize().y ; ++y)
{
seed.reset(x, y);
unsigned int i(0);
while(seed.getCriticalSqMod()<4
&& i!=seed.getIteration())
{
seed.loop(x, y);
++i;
}
unsigned int pos(y + x*seed.getSize().y);
if(i==seed.getIteration())
{
m_image[pos] = 255;
m_image[pos+1] = 255;
m_image[pos+2] = 255;
m_image[pos+3] = 255;
}
else
{
m_image[pos] = 0;
m_image[pos+1] = 0;
m_image[pos+2] = 0;
m_image[pos+3] = 0;
}
}
}
return m_image;
}
Et ensuite j'utilise ce tableau pour faire un Sprite :
Seed seed;
Generator engine;
sf::Texture txtr;
txtr.create(seed.getSize().x, seed.getSize().y);
txtr.update(engine.update(seed));
sf::Sprite sprite(txtr);
Seulement j'obtiens simplement une belle image blanche au lieu de ma fractale. Je ne pense pas que l'erreur vienne des calculs mathématiques, et je n'ai pas posté le détail, au moins je saurais si cela viens de mon utilisation de SFML.
Merci d'avance.