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 :

[débutant] le BLEND en rapport avec le stencil ?


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 13
    Par défaut [débutant] le BLEND en rapport avec le stencil ?
    bonjour, j'ai de gros soucis avec la transparence dans ma scène:
    en effet, je trace une scène 3D avec un stencil à 2. dans cette scène (qui affiche un billard) je simule un trou en dessinant ce dernier avec un stencil de 1 (puis j'affiche la table là ou le stencil est different de 1)
    à coté de tout ceci, j'utilise à nouveau le stencil pour afficher un reflet dans un miroir (miroir pour lequel le stencil est à 3)
    tout marche trés bien, jusqu'au moment ou je veux afficher un verre sur ledit billard: j'utilise le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    		glStencilFunc( GL_ALWAYS, 2, 0xffffffff );
    		glStencilOp( GL_REPLACE, GL_REPLACE, GL_REPLACE );
     
    	//je trace differents elements de la scène puis
     
     		surfaceVerre();
    		glEnable(GL_BLEND);
    		glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA);
    		tracerVerre();
    		glDisable(GL_BLEND);
    le problème, c'est qu'avec ceci, le verre s'affiche tout noir (alors que la surface est blanche transparente) et seulement là ou le stencil est different de 2 (=au niveau du trou, et devant le miroir). franchement, je comprends pas, je pensais que le blend n'avait aucun rapport avec le stencil.

    aidez moi ! please !

    merci

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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    tu utilise GL_*_DST_*
    il faut utiliser la bonne fonction de blend, pour crée un effet de transparence il faut generalement faire
    GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA, mais avec celle la, il faut afficher les faces de la plus eloignée a la plus proche. moins réaliste mais qui ne pose pas ce probleme, tu a la fonction
    GL_SRC_ALPHA,GL_ONE.
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

Discussions similaires

  1. Attribution de rapports avec Crystal Report 8.5
    Par Joachim dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 30/06/2005, 17h21
  2. [Débutant] Utilisation du debugger Eclipse avec Serveur Web
    Par tnodev dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/06/2005, 17h45
  3. Réponses: 3
    Dernier message: 07/04/2005, 15h04
  4. [Débutant] génération d'un EJB avec GenIc
    Par Stessy dans le forum JOnAS
    Réponses: 65
    Dernier message: 31/01/2005, 10h50
  5. [Débutante] Création d'une image avec un composant
    Par gwendo dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/07/2004, 09h58

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