Orion_
:
Pollux :
(donc par exemple dans ton code dx3 = x3-x1 et pas le contraire)
ça ne change rien helas :/
oui, ça n'explique pas les différences de plus d'un pixel (qui seraient de toute façon masquée par le bug dont je parle plus bas) : c'est tout simplement que ta boucle do/while (faite avec des goto :/) devrait être une vraie boucle while...
j'ai reflechis la dessus et le probleme disparait si je change mes if du debut par des >= au lieu de >.
oui mais non ça ça ne change rien, ça peut changer l'ordre dans des cas particulier mais un code pas buggé marche avec des > ssi il marche avec des >=...
autre remarque : tu devrais faire
for (t = x; t < xx; t++) Pixel(s, t, y2, c);
et pas
for (t = x; t <= xx; t++) Pixel(s, t, y2, c);
(sinon tu traces un pixel en trop : des triangles de couleurs différentes qui se touchent sans se recouvrir vont déborder chacun d'un pixel, et donc ça va être supra-moche puisque le résultat va dépendre de l'ordre de tracé des triangles)