2009-04-06 5 views
0

Je rends 4 sommets (un carré) devant un cube coloré. Les sommets sont colorés en blanc, mais sont mélangés à 0.5f.Pourquoi mes sommets semi-opaques rendent-ils les objets d'arrière-plan plus lumineux sous OpenGL?

connexes: Why does my colored cube not work with GL_BLEND?

S'il vous plaît quelqu'un pourrait me dire pourquoi le cube de couleur apparaît plus lumineux quand obscurci par le carré semi-opaque?

Cube rendu sans place devant:

Normal cube http://img408.imageshack.us/img408/2853/normalcube.png

Et, rendu avec la place:

Cube with square http://img142.imageshack.us/img142/6255/brightsquare.png

S'il vous plaît voir le code utilisé pour create the colored cube, le code utilisé pour réellement draw the cube et le code where the cube and square are rendered.

C'est le code dans ma fonction init:

glEnable(GL_CULL_FACE); 
glEnable(GL_BLEND); 
glBlendFunc(GL_SRC_ALPHA, GL_ONE); 
+0

Tous vos liens directs vers le même segment de code –

+0

Merde, merci pour les heads up! Fixé maintenant ... –

Répondre

2

Je dirais que c'est parce que votre carré semi-transparent est ajouté aux pixels existants, incrémenter ainsi leur intensité.

Le documentation for glBlendFunc() recommande de définir le second paramètre sur GL_ONE_MINUS_SRC_ALPHA, c'est-à-dire la couche standard pour implémenter la transparence. Essayez-le.

+0

Ouais, ressemble à un carré blanc translucide, je ne vois pas le problème. – Karl

+0

Excellent, merci! GL_ONE_MINUS_SRC_ALPHA a résolu le problème. –

Questions connexes