Animation de feu (en directx)

Description

Voici une petite source expliquant comment faire un animation de feu avec directx.

J'ai fait l'équivalent en C, pour Gameboy advance:
http://www.cppfrance.com/code.aspx?ID=18525

Conclusion :


Je fais une explication globale du programme.

1 - On crée une palette contenant les teintes de la flamme. J'ai utilisé cette palette:

0 -------- 32 ------- 64 ------------ 128 ---------- (index) ------ 255
---------------------------------------------------------------------------
| Noir | ->rouge | -> jaune | > Blanc |
---------------------------------------------------------------------------
-- 1/8 ------ 1/8 -------- 1/4 ----------------- 1/2 ----- (Proportion)

2 - On dessine les deux premieres lignes de feu:
début de boucle.
1er ligne: chaque pixels entre 0 et 255
2em ligne: chaque pixel SOIT 0, SOIT 255 (pour les divergences et irrégularités)

3 - Flou
On fait la moyenne des pixels environnants, et ceci pour chaque pixels:
(copix = couleur pixel)
copix = (copix + copix gauche + copix droit + copix haut + copix bas) / 5

4 - Deplacement des flammes
on déplace chaque pixels vers le haut en diminuant la couleur de la flamme:
pix(x,y-1) = pix(x,y) - random(0,consumation_max)

5 - Affichage
de chaque pixel.
fin de boucle.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.