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 :

texture transparente sans trier les polygones ?


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 183
    Par défaut texture transparente sans trier les polygones ?
    Bonjour,
    oui c'est encore moi :p
    je voudrais juste savoir si il y a pas un moyen simple d'afficher une texture transparente parce que je veut afficher les cils d'un personnages, le problème c'est que sans transparence c'est moche et avec glBlend ça fait bugger le zbuffer et ça donne ça :
    Nom : cils_bug.png
Affichages : 227
Taille : 1,94 Mo
    je sais qu'il faut trier les polygones transparents et tout mais y'a pas plus simple ?

  2. #2
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut
    Hello,

    Pièce jointe invalide.

    Plusieurs solutions :
    1 - Tu tris.
    2 - Tu tris pas + alpha blending classique, artefacts possibles (qui peuvent être acceptables dans certains cas).
    3 - Tu tris pas + Order Independant Transparency (par exemple ça), peu d'artefacts.
    4 - Tu divises ton mesh en 2 parties : la partie semi-transparente et le reste, solution 1 ou 2 (ou 3 éventuellement) pour la partie transparente -> moins de trucs à trier, et la partie opaque est dessinée avant même si tu trie pas.

    Pour ton cas, je pense que diviser ton mesh et trier les quelques triangles de tes cils est la meilleure solution.

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 183
    Par défaut
    merci pour ta réponse,
    j'ai corrigé la pièce jointe et j'avais essayé de placer les cils a la fin de l'obj mais au final ça donnait un tas de triangle randoms (logique après réflexion) du coup je peut faire comment pour diviser le mesh facilement ? pour le OIT il faut quand même séparer transparents/pas transparents non ?
    EDIT : sinon javais une idée d'algo : on fait un rendu de tout ce qui est opaque puis on fait un rendu de tout ce qui est transparent en se servant d'une image a 4 composantes pour le z buffer : si 4 objets transparents se croisent, y'en auras 1 par "sous-pixel". si il y en a 5, le plus loin ne seras pas affiché. après on fait un test par rapport au z buffer normal et on vire tous les "sous-pixels" du gros z buffer qui sont derrière ceux du normal
    envisageable ?
    EDIT 2 : je viens de me rendre compte que ma phrase avait aucun sens :p corrigé*

  4. #4
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2015
    Messages : 9
    Par défaut
    Bonjour, afin de se faire une idée de différents algos:
    Sur le site developer d'Nvidia: https://developer.nvidia.com/content...ency-rendering
    Et pour Opengl 4.x, un tres bon pdf qui permet de connaitre les différents algos possible pour la transparence : http://on-demand.gputechconf.com/gtc...ncy-opengl.pdf
    Apres ca reste assez dépendant du matériel il me semble (il faut des GPU assez récent, et en général AMD suit Nvidia, mais pas toujours rapidement...).

    Voila, "My 2 cents" comme on dit, si cela ne correspond pas a tes attentes, merci de me le dire, j'éviterai de poster des âneries par la suite

  5. #5
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 183
    Par défaut
    Merci beaucoup enfaite si j'ai bien compris mon idée d'algo c'est en gros la même chose que l'OIT de NVIDIA mais j'aimerais bien le faire moi même déjà parce que je suis pas fan des algos tout faits et puis surtout j'aimerais bien un programme cross plateform. Comment je pourrais faire pour utiliser un z buffer custom ?

  6. #6
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 035
    Billets dans le blog
    12
    Par défaut
    FBO?

    Tu bind une texture niveau de gris a ta composante Depth et tu joues avec ^^
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

Discussions similaires

  1. [2.x] trier les entités sans utiliser de colonne
    Par romuluslepunk dans le forum Symfony
    Réponses: 2
    Dernier message: 20/01/2015, 20h27
  2. Réponses: 4
    Dernier message: 09/05/2013, 00h14
  3. Comment trier les polygones en back to front
    Par Tonyryu dans le forum OpenGL
    Réponses: 27
    Dernier message: 28/10/2008, 09h33
  4. Récuperer les polygones pour les trier.
    Par LapinGarou dans le forum OpenGL
    Réponses: 7
    Dernier message: 31/01/2007, 13h35
  5. [VBA-E] ouvrir un fichier .xls sans executer les macro
    Par lae_t2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2003, 17h07

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