Dans une conception graphique, certains effets sont impossibles a réaliser avec un traçage classique tel qu'avec le dragon. Les effets de pluie, de feu, de fumée nécessitent que l'on fasse appel à un moteur à particules. Les moteurs à particules permettent de générer un grand nombre de points qui appartiennent tous à des objets différents mais qui sont tous identiques. Par exemple, dans un effet de pluie, on peut définir la forme d'une goutte, et ensuite générer un moteur qui fait tomber un grand nombre de particules ayant chacune la forme de cette goutte. On crée les particules de façon uniformément repartie sur une surface d'origine, en leur affectant une trajectoire vers le sol. Ce procédé est une méthode très puissante et qui permet de réaliser des animations très réalistes, mais, qui est aussi très lourde en calculs.
Les animations plus complexes utilisent plus de coefficients de paramétrage pour les mouvements. Les principaux paramètres permettant de régler les comportements des particules sont:
-Le nombre total des particules qui interviendront dans l'animation. Ce paramètre est très important car un nombre trop grand de particules intervenantes dans un temps trop court sera impossible à gérer même pour les processeurs les plus puissants.
-La durée de vie des particules. Pour la même raison qu'au dessus, si la durée de vie est trop longue, le nombre de particules ne cessera d'augmenter jusqu'au plantage du système.
-La force s'exerçant sur chaque particule. Ainsi, on crée une accélération et on donne un mouvement au point (x = 0.5*a(t-t0)²+v(t-t0)+x0).
-La direction initiale de la particule. Avec la force précédente, les particules partent toutes exactement dans la même direction, les faire partir dans des directions différentes et aléatoires permet de donner des effets plus naturels.
-L'association à un objet. On peut simuler un grand nombre d'animations en associant des objets à des particules, telles que la chute des feuilles d'un arbre, du feu, du mouvement de cheveux,....
Le but est de paramétrer le moteur à particules pour donner un effet de feu. On commence par créer un ensemble de points qui sera l'origine des particules. On défini le nombre de particules à 50 et on règle la durée de génération sur 5 secondes.
On défini une force qui s?exercent vers le haut pour créer un mouvement d'accélération constante.
On fait partir les particules en les projetant dans un intervalle restreint de façon aléatoire.
Enfin on défini le graphisme de chaque particule, pour cela on crée une texture de type marbrée, en associant la partie sombre de la texture à une couleur ayant un coefficient alpha de 0 (donc transparente), et la partie visible à une couleur jaune de type halo de lumière.
Léo

Les mouvements du regard de la camera sont déclenchés dans la
fonction de passivité du programme, quand la valeur des angles de vue changent.
Soit un repère Ox1y1z1, dont l'origine correspond au point d'origine du regard.
OpengGL fournit la fonction gluLookAt(ox, oy, oz, vx, vy, vz, hx, hy, hz) où
« o » sont les coordonnées du point d'origine du regard, « v » sont les coordonnées
du point regardé, et « h » correspond à la dimension représentant la
hauteur. Pour pouvoir orienter la camera dans une direction spécifique, on
défini deux angles : ALPHA dont la définition est la même que précédemment,
BETA correspond à l'angle de vision verticale définit entre 0 et PI. Ainsi, par
l'association des relations trigonométriques entre les deux angles, et d'une
distance ov fixé à 1, le domaine des valeurs, prises par le point regardé,
forme une sphère de centre « o », position de la camera (origine du
repère relatif) et de rayon 1. Pour avoir les coordonnées du point regardé dans
le repère absolu, il suffit d'ajouter les coordonnées de la caméra dans ce
repère et les coordonnées du point regardé dans le repère relatif défini dans
cette partie.