begin process at 2012 05 27 17:35:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

OpenGL

 > OPENGL - UN PEU DE NEIGE...

OPENGL - UN PEU DE NEIGE...


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :OpenGL Classé sous :opengl, particules, neige Niveau :Débutant Date de création :08/11/2009 Vu / téléchargé :3 945 / 425

Auteur : underprog

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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


 Conclusion

Si vous avez des remarques, critiques, commentaires... n'hésitez pas!
Ah oui dernier détail :
* touche fléchées pour se déplacer
* F1 à F8 : différentes couleurs d'eclairages (juste pour le style ^^)

@+

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture AFFICHER DES COURBES DE BEZIER par shorzy
Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip Source avec une capture CLASSE AVEC OPENGL - OBJETS 3D ET ANIMATIONS par rasta63
Source avec Zip Source avec une capture LETTRES 3D AVEC OPENGL ET QT par opossum_farceur
Source avec Zip CUBE 3D GLUT32 VC++ ET DEVC++ par bobby03

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture OPENGL 2D SIMULATION MOUVEMENT BROWNIEN par kenjimax
Source avec Zip Source avec une capture GÉNÉRATEUR DE PARTICULES STATIQUES par leo666
Source avec Zip EXEMPLE D'APPLICATION DU MOTEUR A PARTICULES par leo666
Source avec Zip MOTEUR A PARTICULES par leo666
Source avec Zip Source avec une capture MOTEUR À PARTICULES par CaptainChoc

Commentaires et avis

Commentaire de pgl10 le 08/11/2009 19:10:03

Avec mon vieux Visual C++ 6.0 j'ai 5 warnings dans main.cpp et 12 dans snow.cpp, tous les 17 pour des problèmes de conversion de type. C'est un peu dommage parce qu'on obtient un bien beau résultat avec un programme simple et facile à comprendre et en plus en API Windows.

Commentaire de underprog le 08/11/2009 19:53:42

Effectivement je viens de voir ca, ça vient des abs() ou j'ai pas fait de cast... Je corrigerai ca prochainement! Merci pour cette critique! ;)

Commentaire de Warny le 09/11/2009 11:39:43

Salut,
rien à voir avec la programmation, juste sur l'effet visuel.
Il est inutile de montrer les flocons de face, les faire tourner dans tous les sens serait plus réaliste : on ne voit pas tous les flocons de face dans la réalité.
Bonne continuation !!

Commentaire de pgl10 le 24/11/2009 11:51:53 9/10

Effectivement, une fois les conversions de type maîtrisées il n'y a plus de warnings. Si on veut, on peut aussi initialiser au hasard rand() pour placer les bonhommes de neige différemment à chaque exécution. Avec ce sujet inventif et animé, plus un développement en API Windows facile à comprendre, cela mérite une bonne note et pourquoi pas des suppléments aussi attrayants.

Commentaire de underprog le 25/11/2009 17:43:29

Merci ^^

Commentaire de shorzy le 06/12/2009 12:21:36

Cool.
ça m'a bien aidé Merci.


En voyant  les LoadTex() dans WinMain, j'ai cru qu'il étaient dans la Boucle de Message !! Ouf, Non j'avais mal Vu.


Q: Pourquoi ne pas les mettre dans InitOpenGL ?

Bonne continuation !

Ps: pas Mal la Gestion du Clavier, j'avais jamais vu ça.
(Habitué au MFC (...))

Commentaire de underprog le 06/12/2009 13:11:40

Salut,

La fonction InitOpenGL initialise la zone de rendu, la perspective, et les paramètres d'affichage de base (activation des textures, lumières, etc...)
Les textures font parti des ressources du programme, voila pourquoi je n'ai pas mis les LoadTex(...) directement, mais juste après la fonction InitOpenGL.
Mais après libre a toi d'organiser le code comme tu veux! ;)

Pour la gestion du clavier, cette méthode permet de ne pas avoir un délai d'attente lors du maintien d'une touche enfoncée, à la différence des WM_KEYDOWN dans la boucle de message...

Merci pour les encouragements, @+

Commentaire de shorzy le 19/01/2010 22:10:16

Au fait...
Pourquoi ne pas utiliser les Sprites pour la Neige ???
Il n(y a pas besoin de les Tournée vers la Camera (il sont Tjrs de Face ...)

Tu peux les Texturer, et la Perspective est active

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

help : collisions particules en OpenGL [ par kx2k3 ] je suis en train de plancher sur des particules en ce moment, en openGLje voudrais les faire rebondir sur un plantous les exemples que j'ai trouvés le [OpenGL] Chute d'eau - Générateur particules d'eau [ par ymerej ] Bonjour &#224; tous,je souhaite r&#233;aliser une chute d'eau (cascade) en OpenGL dans ce style l&#224; : <img src="http://screenshots.softonic.com/s2 Couleur + OpenGL [ par norton ] Bonjour, j'ai d&#233;ssin&#233; une sc&#232;ne 3d avec les textures . Jusque la aucun probl&#232;me.Mais maintenant que j'affiche des particules dans [SDL - OpenGL - POO] cherche collaborateurs pour jeu 2D [ par MrdJack ] salut, je projetes de faire un jeu 2D de type bomberman/dynablaster en SDL/OpenGL/POO, je cherche des programmeurs interress&#233; ayant juste des not PB Boite de dialogue et View - Opengl [ par Fipovi3 ] Bonjour &#224;&nbsp;tous,Voila, j'ai une application opengl en Visual C++ (MFC-SDI)&nbsp;et je souhaiterai modifier la position de mes objets par l'in Texture-Sprite openGL [ par Buzu ] Salut. Voila je commence a peine l'openGL et je voudrai savoir comment il faut que je fasse pour appliquer une texture (un fichier.gif ou jpg normalem Managed C++ et OpenGL ? [ par ddaime ] Bonjour &#224; tous,Je d&#233;bute en Managed C++ et j'aimerai d&#233;velopper une petite librairie utilisant OpenGL (j'aimeari d&#233;velopper un pet C++/OpenGL [ par abdoulzak ] Salut &#224; tous&nbsp; , Je suis d&#233;butant en OpenGL, j'aimerais representer des figures g&#233;om&#233;triques dans un panel (carr&#233;es,recta SDL est deformation de surface [ par wil51 ] Bonjour,Je suis actuellement sur le devellopemeny d'un jeu en 2D en SDL style GTA en vue de dessusTous est en 2D sauf les batiments qui sont 3D.Actuel openGL : une texture sur un GLUtesselator [ par kortin ] Bonjour,j'ai un probl&#232;me de texture sur des polygones de type GLUtesselator.En fait j'aimerais savoir savoir si&nbsp;il est possible de plaquer u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales