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] Question simple sur un fragment shader


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut [Débutant] Question simple sur un fragment shader
    Salut,

    quand j'applique un fragment shader sur ma texture comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glFragColor = vec4(1.0,0.0,0.0,0.0)
    Puis lorsque ma texture est appliquée, ça ajoute 255 à la composante rouge de tous mes pixels. (Les autres composantes sont inchangées)

    Or, vu que j'ai mis un alpha de 0, ça devrait être transparent?

    Bref, ma question est simple, est-il normal que la composante rouge soit ajoutée, ou le shader devrait-il mettre la texture invisible? Il s'agit de quelque chose que j'ai rencontré avec QML de Qt, en appliquant le shader sur une de mes images (c'est de la 2D) et j'aimerais être sûr avant de faire un bugreport.

    J'ai conscience aussi que le problème vient peut être du mode de blending et pas des shaders, mais vu que je l'ai rencontré qu'en utilisant des shaders...
    Merci

  2. #2
    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
    Tu as une petite incompréhension sur l'application des shaders. Ceci ne s'applique pas à une texture mais à un fragment/pixel du viewport issue de la rasterization d'une primitive donc je ne vois pas où il est question de texture surtout que dans ton shader rien n'indique qu'il y en a. Ton shader définit juste la couleur du fragment comme étant rouge à 100% avec un alpha de 0%. Il est normal que le fragment soit rouge si l'alpha ou le blending (glEnable) n'est pas activé ou si la fonction d'alpha / blending (glAlphaFunc / glBlendFunc) n'est pas celle voulue.

    P.S. : ne post surtout pas de bugreport si tu n'est pas sûr du problème, si tu es novice et que tu n'as pas une compréhension totale du pipeline et du problème, bref fais ce que tu viens de faire, demande de l'aide sur un forum.

  3. #3
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    En fait, QML permet d'appliquer des shaders sur des éléments de la scène. Imagine un jeu vidéo 2D, genre mario sur SNES, bah QML te permet d'appliquerun shader sur un goomba par exemple.

    Ce qu'il fait, si j'ai compris, c'est qu'il met l'image dans un pixelbuffer, applique le shader dessus, et affiche le pixelbuffer à la place de l'image.

    Apparement, le problème qu'il y a ne se situe pas avec le shader, mais avec le faite qu'une mauvaise équation de blending est utilisée lorsqu'ils blendent le pixelbuffer résultant du shader sur la scène.

    J'ai posté le bug report, on verra

    Merci pour tes explications sinon ^^

  4. #4
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    ok, apparemment ils utilisent des textures/couleurs déjà prémultipliées (ce n'est pas dans la doc), donc ce n'est pas un bug. Le workaround est de multiplier le rgb qu'on veut ajouter par l'alpha de l'image.

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

Discussions similaires

  1. [Débutant] Question simple sur les checkbox
    Par Mil17 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 01/08/2007, 15h05
  2. question simple sur le style de body
    Par grinder59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 18/01/2006, 16h57
  3. Question simple sur la libération des objets
    Par gibet_b dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2004, 10h01
  4. DTS : Question simple sur sources de données
    Par guignol dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/05/2004, 12h09
  5. Question simple sur les threads :)
    Par momox dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/06/2003, 04h13

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