2011-08-11 8 views
4

Je veux dessiner un polygone semi-transparent (disons alpha = 0.5) dans openGL-es 2.0. Comment faire ça?. Peu de choses j'ai essayé. 1.J'ai créé gl_Fragcolor.w = 0,5 dans le fragment shader. 2.Disabled choses liées à la profondeur.Comment dessiner un polygone transparent dans OpenGL-ES 2.0?

Je ne sais pas comment activer le mélange dans openGL-es 2.0. Je l'ai lu quelque part, il est mis en œuvre automatiquement. est-ce vrai? Toute petite aide est appréciée.

+0

J'ai donné une couleur transparente au lieu de changer l'alpha. Cela fonctionne bien.GlBlend n'est pas supprimé dans Es-2.0. Lorsque vous avez Transparent OPenGL Layer, nous voyons que le dessin apparaît (alpha> 0) ou disparaît (alpha = 0) avec le mélange. Lorsque la vue est opaque, nous pouvons voir le mélange parfaitement. – Vignesh

Répondre

9

Vous devez activer le mélange alpha. Pour une faq sur la façon de le faire: http://www.opengl.org/resources/faq/technical/transparency.htm. Pour activer l'effet souhaité:

glEnable (GL_BLEND); 
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 

Notez que l'activation alpha blending blessera performances un peu - si seulement le faire sur les triangles qui doivent avoir alpha blending activé.

+0

Merci pour la réponse. Faites-moi savoir ce que vous pensez du commentaire que j'ai ajouté à cette question. – Vignesh

Questions connexes