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 :

Blend et MRT


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Par défaut Blend et MRT
    Bonjour à toutes et à tous,
    J'utilise un MRT pour stocker diffus (RT1), normal+depth (RT2) et j'aimerais que les objets que je dessine dans ce MRT puisse être blendé avec leur composante alpha, comme on fait habituellement sans MRT quoi. Le problème c'est que si j'active le blending il me blend bien le RT1 avec le diffus mais aussi le RT2 avec la normale vu que mon depth est pris pour un canal alpha. Comment faire pour que le blending ne s'applique que sur le RT1 ?
    Si quelqu'un à une solution je suis preneur.
    Merci d'avance

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Tu appliques simplement ton blending dans ton shader.

  3. #3
    Membre très actif Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Par défaut
    Euh comment ça, là ce que je veux c'est pas juste blender 2 textures dans un shader enfaite.
    Là dans mon cpp je fais ça en gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    fbo->enable()
     
    pour chaque objet opaque
        objet->afficher()
     
    activer blend
     
    pour chaque objet transparent
        objet->afficher()
     
    desactiver blend
     
    fbo->disable()
    Donc du coup je n'ai aucune texture en entrée pour me dire ce qu'il y a derrière ce que je dessine et je vais pas faire une passe pour chaque objet transparent

  4. #4
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450

  5. #5
    Membre très actif Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Par défaut
    C'est bizarre je vois des OpenGL2.0 partout dans le doc, et sur mon header glew ce n'est implémenté que en GL3.2 ! La pour l'instant j'utilise glEnablei(index, GL_BLEND); qui est GL3.0 et c'est logique que glBlendfunciARB viennent après niveau version mais ça ne répond toujours pas vraiment à ma question comment faisait-on avant ? on n'utilisait pas de MRT pour dessiner les objets transparents :o ?
    Merci à toi pour tes réponses ^^

  6. #6
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Je n'ai jamais implemente le deffered shading/lighting, juste lu des articles . Et il me semble que les gens disaient que gerer les objets transparents avec ca ce n'etait simplement pas possible (du fait que tu ne stockes la diffuse/normale que du dernier objet alors que pour bien calculer l'illumination tu en as besoin pour tous les objets transparents). J'avais lu un article assez recent apres qui proposait une solution pour gerer les objets transparents avec les techiques "deffered" mais j'etais pas rentre dans les details.

    Ensuite, les objets transparents sont evites au maximum dans les jeux ou alors sont geres differemment (utilisent des techniques de rendu classique).

    Et aussi penses que les jeux sont majoritairement fais avec DX donc il faudrait plus voir si cette option est dans DX9...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Alpha blending
    Par Francky033 dans le forum DirectX
    Réponses: 4
    Dernier message: 31/05/2005, 01h23
  2. Réponses: 3
    Dernier message: 28/04/2005, 19h07
  3. Probleme avec le blending...
    Par ludobooz dans le forum OpenGL
    Réponses: 4
    Dernier message: 14/01/2005, 18h04
  4. Alpha blending
    Par Freakazoid dans le forum DirectX
    Réponses: 2
    Dernier message: 23/05/2002, 20h37
  5. Alpha blending et Z-buffer directx 8
    Par Cesar4 dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 13h58

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