2009-04-06 8 views
0

私は、四つの頂点(正方形)を色付きキューブの前にレンダリングしています。頂点は白く塗りつぶされていますが、0.5fでブレンドされています。OpenGLで半透明の頂点が背景オブジェクトを明るくするのはなぜですか?

関連:Why does my colored cube not work with GL_BLEND?

半透明の四角形で隠されたときに色のキューブが明るく見える理由を誰かが私に言うことができるしてください?前の広場ずにレンダリングされた

キューブ:

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

そして、四角でレンダリング:

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

create the colored cubeに使用されるコード、実際にdraw the cubeに使用されるコードを参照してください。 、およびcode where the cube and square are rendered

これは私のinit関数内のコードです:

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

あなたのすべてのリンクはコードの同じ部分に直接つながっています –

+0

おかげで頭がおかしくなりました!今すぐ修正... –

答えて

2

私はあなたの半透明の正方形がこのように彼らの強さをインクリメントし、既存のピクセルに追加されますので、それはだと思います。

documentation for glBlendFunc()は、2番目のパラメータをGL_ONE_MINUS_SRC_ALPHAに設定することを推奨します。これは透過性を実現するための定型文です。それを試してみてください。

+0

ええ、白い半透明の四角形のように見えますが、私は問題が表示されません。 – Karl

+0

優秀、ありがとう! GL_ONE_MINUS_SRC_ALPHAは問題を修正しました。 –

関連する問題