IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

[win32, GL, GLU] moteur de particules


Sujet :

OpenGL

  1. #1
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 394
    Points : 5 005
    Points
    5 005
    Par défaut [win32, GL, GLU] moteur de particules
    bonjour,
    voila j'ai programmé un début de moteur de particules en 3D (grâce à un moteur 2D que j'ai amélioré) et je voudrais savoir ce que vous en pensez.

    les remarques, critiques, et suggestions pour l'améliorer sont les bienvenues (normal si je poste ici)

    merci

    ps: le code est un peu fouilli, donc ne prenez pas peur en le lisant
    le code utilise gl, glu, win32, compile sans avertissement sous VC++ beta 2005 (sln fourni) ainsi que l'exécutable (pas recommander pour la sécurité)
    les touches sont :
    1 et 3 -> zoom
    7 et 9, 4 et 6 -> scrolling horizontal/vertical
    les flèches -> rotation caméra

    source : ici

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,
    j'ai fait tourné ton prog et il est sympa. Par contre la résolution n'est pas terrible, les particules sont vraiment floues et je n'avais pas vraiment de rendu 3D.
    Pour ce qui est du code, dit nous plutot ce que tu as fait en général, on ne peut pas se plonger dans un soft entier.

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Points : 85
    Points
    85
    Par défaut
    Échantillonne tes textures en trilinéaire un peu comme ça:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        glBindTexture (GL_TEXTURE_2D, id);
    	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
        glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
        glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
    	glTexParameteri (GL_TEXTURE_2D, GL_GENERATE_MIPMAP, 1);
        glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
        glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA8, texWidth, texHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, texPixels);

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 394
    Points : 5 005
    Points
    5 005
    Par défaut
    pour ce qui est du flou, c'est moi qui a fait le boulet (je pense), je vais rajouter une option pour pouvoir changer le nombre de particules par moteur (il est assez bas à cause de la configuration de mon pc), par contre pour les textures en trilinéaire, je vais regarder déjà ce que c'est, étant pas super bon en opengl.
    pour ce que j'ai fais en général, je mettrai un rapport complet sur ce qui est possible avec mon moteur

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Points : 85
    Points
    85
    Par défaut
    t'as juste à copier mon code tel quel, ça va améliorer pas mal la qualité d'image

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 394
    Points : 5 005
    Points
    5 005
    Par défaut
    merci gybe, ça améliore vachement la qualité !!!
    (par contre c'est dommage de passer par les extensions, enfin je rale, mais merci)

    sinon voila ce que l'on "peut faire" avec le moteur:
    - régler la taille des particules, couleur, vecteur accélération, dispersion, durée de vie, position, le fait de se régénérer
    - possibilité de gérer plusieurs moteurs ayant des trajectoires semblables en une seule fois
    - différentes formes d'émetteurs de particules: sphère, boule, rectangle ...

    mais déjà j'ai quelques amélioration à faire:
    - n'utiliser que des vecteurs à la place d'un foireux mélange vecteurs/angles
    - faire une vrai hiérarchie dans les classes
    - finir la gestion en 3D des particules (pour l'instant seul quelques cas sont gérer en 3D)
    - faire une vrai gestion de la caméra (style quake)
    - améliorer la lisibilité du code avec des vrais commentaires

    une mise à jour de l'archive sera faite avant midi (ajout d'un .dev et autre)

  7. #7
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    heu... la ce ne sont pas des extension, c'est du standard pure et dure (même pas besoin de faire appel a un wglGetProcAdress ou autre glxGetProcAdress)

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 394
    Points : 5 005
    Points
    5 005
    Par défaut
    a bon... je disais ça parce que je ne trouvais pas GL_GENERATE_MIPMAP dans gl.h et après un google, j'ai vu que c'était dans glext.h et que sur je sais plus quel site, il disait que ça fesait parti des extensions ... enfin voila !

    ps: archive mis à jour

  9. #9
    Membre à l'essai

    Profil pro
    Inscrit en
    Février 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 12
    Points : 19
    Points
    19
    Par défaut
    Ça a été introduit dans OpenGL 1.4. Si t'es sous Windows, tu l'as donc avec glext.h (vu que les fichiers d'en-tête OpenGL sous windows s'arrêtent à OpenGL 1.1).

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 394
    Points : 5 005
    Points
    5 005
    Par défaut
    prochaine mise à jour : le week-end prochain;
    ajout:
    - caméra fps (avec gimbal lock)
    - timer (timeGetTime)
    - générateur de textures de particules (patern singleton)
    - skybox (librairie d'import de bmp)
    - nouvelle hiérarchie de classe (enfin j'espère avoir le temps)
    + diverses optimisations et ajouts

    voila, si vous avez des idées de rajout(s), prévenez moi
    (un pote m'a suggérer d'implémenter les méta-ball, qu'en pensez-vous?)

    archive mise à jour (désolé pour la taille, j'ai mis les bmp de la skybox)
    éléments non implémentés ->> nouvelle hiérarchie de classe et générateur de textures de particules

Discussions similaires

  1. [Projet en cours] SPARK Moteur de particules open source
    Par Frifron dans le forum Projets
    Réponses: 91
    Dernier message: 30/08/2010, 20h09
  2. Moteur de particules
    Par Ikit dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 23/05/2008, 10h11
  3. Moteur a particules.
    Par Moumoutte dans le forum DirectX
    Réponses: 2
    Dernier message: 01/05/2007, 13h48
  4. Moteur de particules
    Par Clad3 dans le forum OpenGL
    Réponses: 42
    Dernier message: 20/06/2005, 16h20
  5. moteur de particules :Dessiner un point
    Par houssa dans le forum OpenGL
    Réponses: 2
    Dernier message: 25/06/2003, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo