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 :

Transparence sur un système de particules


Sujet :

OpenGL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Transparence sur un système de particules
    Bonjour à tous,

    je suis en train de coder un système de particule et comme vous pouvez le voir le rendu final n'est pas très satisfaisant à cause d'un problème de transparence :

    http://imageshack.us/f/849/particle.png/

    Certaines particules ne semble pas se fondre correctement avec les autres.
    Pour la transparence j'ai utilisé glBlendFunc(GL_ONE, GL_ONE);

    Je crois que le problème est lié à l'ordre suivant lequel les particules sont dessinées car en faisant un glDisable(GL_DEPTH_TEST) les particules se fondent bien entre elles mais du coup elle sont visibles tout le temps, même derrière des murs.

    Du coup j'ai essayé de les trier par distance à la caméra en dessinant les plus lointaines en premier. Ca améliore un peu le rendu mais le problème existe toujours même s'il est moins prononcé.

  2. #2
    Membre averti

    Homme Profil pro
    Ingénieur applications 3D temps réel
    Inscrit en
    Août 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur applications 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 63
    Points : 412
    Points
    412
    Par défaut
    Pour des effets de transparences, on utilise plutôt :

    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Points : 968
    Points
    968
    Par défaut
    Normalement, les trier selon la distance devrait être suffisant. Le seul cas ou ça peut ne pas marcher, c'est quand tu mélanges plusieurs systèmes de particules qui ont des paramétrés et textures differents (et ne peuvent donc pas être triés, vu que ça forcerait a reparamétrer OpenGL trop souvent).
    Sinon, dans le cas d'un blend additif (celui que tu utilises), tu peux désactiver l’écriture sur le depth buffer (je sais pas trop quelle commande, mais ça doit se trouver facilement sur google), ce qui est plus facile et rapide que tout trier.

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 219
    Points : 239
    Points
    239
    Par défaut
    Un peut en retard mais, si tu veux un rendu satisfaisant pour les particules, renseigne toi sur les rendu volumétrique. C'est très simple à faire et idéal pour simulé des cheminées de fumé comme tu semble vouloir faire !

Discussions similaires

  1. dégradé transparent sur une image
    Par Dionyzos dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/04/2005, 15h47
  2. Réponses: 4
    Dernier message: 12/04/2005, 19h51
  3. faire un effet de transparence sur un bloc div ?
    Par piff62 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 08/03/2005, 00h04
  4. Réponses: 8
    Dernier message: 06/07/2004, 18h30
  5. Réponses: 1
    Dernier message: 23/02/2003, 06h22

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