2011-05-18 3 views
2

Quelqu'un peut-il donner quelques indices pour expliquer pourquoi lorsque je tente de rendre la barre de couleur quad ci-dessous enter image description hereproblème avec le mélange dans openGL (exemple bar couleur)

Il apparaît comme ceci: enter image description here

Voici mon code de rendu:

gl.glEnable(GL.GL_BLEND); 
    gl.glBlendFunc(GL.GL_ONE, GL.GL_ZERO); 
    gl.glBlendEquation(GL.GL_FUNC_ADD); 

    gl.glEnable(GL.GL_ALPHA_TEST); 
    gl.glAlphaFunc(GL.GL_GREATER, 0.01f); 

    // do the drawing... 

    gl.glDisable(GL.GL_TEXTURE_2D); 

    gl.glDisable(GL.GL_ALPHA_TEST); 

Je suis sûr que la solution est simple et je suis juste avoir un brainfart mais il est juste un de ces jours! Merci pour l'aide!

+0

Ecrivez cela comme une réponse et acceptez-le, c'est la façon de marquer les solutions trouvées sur SO – datenwolf

Répondre

0

Un problème est survenu lors de l'échange de RGBA lors de l'importation du fichier PNG.

0

Quel type d'assemblage essayez-vous d'effectuer? Pour dessiner quelque chose sans mélanger les couleurs ou les canaux alpha, vous n'avez même pas à jouer avec GL_BLEND ou GL_ALPHA_TEST (laissez les deux désactivés). GL_BLEND est utilisé pour définir comment ajouter différentes "couches" de couleur (généralement sur la façon d'appliquer des canaux alpha) tandis que GL_ALPHA_TEST décide quelles valeurs alpha à respecter/ignorer. Vérifiez également vos couleurs de vertex lors du rendu du quad (essayez de rendre un quad unicolore sans texture, par exemple en utilisant du magenta).

Cependant en regardant vos images, je suppose que vous avez désactivé le dessin sur votre canal de couleur rouge (glColorMask()) - bien qu'il y ait du jaune, ce qui me rend confus.

+0

Puisque vous posez la plupart du temps une question, je ne pense pas que vous devriez l'afficher comme une réponse. Mais revenons sur le sujet: la barre bleue est également partie, ce qui semble très bizarre. – ltjax

+0

Désolé les gars. J'ai trouvé l'erreur et cela n'avait rien à voir avec le mélange. Les valeurs RGBA étaient en train de se foirer quand j'ai importé le PNG pour une raison étrange. –