Ce froid de canard qu'il commence à faire m'a inspiré ce petit programme! ;)
Le but est de montrer comment réaliser un système de particules assez simple, ici de la neige qui tombe sur une zone définie. Je dis simple dans le sens ou la chute des flocons n'est pas régie pas un vecteur vent, et la "fin de vie" de chaque particule n'est définie que par un point (y) à atteindre...
La classe CSnow gère le rendu des particules de neige.
Pour créer une chute de 2000 flocons sur la zone Pt Min = (0,1,10) ; Pt Max = (50,40,60), on fera appel au constructeur de la facon suivante :
CSnow *Snow;
...
Snow = new CSnow(2000, 0, 50, 1, 40, 10, 60);
Puis dans la fonction de rendu, il suffira de faire un simple appel à
Snow->Display(cameraAngle);
pour effectuer le rendu des flocons de neige.
Précision : chaque flocon est un simple carré texturé, on a donc besoin de récupérer la valeur de l'angle de la caméra (entre la position et le point de visée) pour effectuer une rotation des flocons de facon a ce qu'ils apparaissent toujours face à la caméra quelle que soit la position de celle-ci