2011-10-25 20 views
6

Alfa harmanlamada 5349574673 sayfa buldum ve yine de istenen sonucu alamıyorum. Ben gif/png dosyaları opengl kullanarak (saydamlık/saydamlık) düzgün görüntülemeye çalışıyorum. Ben görüntüleri şeffaflık ve düzgün yüklenir EMİN duyuyorumOpenGL alfa harmanlama

glEnable(GL_TEXTURE_2D); 
glEnable(GL_BLEND); 
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); //I've seen this on most tutorials 
glDisable(GL_DEPTH_TEST); //it's a 2D game 
//...loading matrices and so on 

:

İşte benim başlatma kısmı.
glBlendFunc (GL_ONE, GL_ONE); çalışır ancak alfa kanalı üzerinde herhangi bir şey yapıp yapmadığını söyleyemem çünkü siyah => harmanlama
glColor4f (1f, 1f, 1f, 0.3f); iyi çalışıyor, saydam şeyler çizebilirim

P.S. Ben

ben GIMP ve diğer doku yükleyiciler ile kodlanmış yapılan diğer dokular kullanılan EDIT öğrenme için bu örneği http://lwjgl.org/wiki/index.php?title=Space_Invaders_Example_Game kullanıyorum ve şimdi gayet iyi çalışıyor.

+0

Resmi gönderin. Init kodu iyi görünüyor. –

cevap

5

Karıştırma ayarlarınız doğru. Ancak, çalışmak için harmanlama için, doku, elbette doğru bir şekilde değerlenmiş bir alfa kanalı içermelidir. Ve sonra alfa kanalı verileri görüntü yükleme işlemi ile korunmalıdır. Resim yükleme ve doku oluşturma kodunu görebilir miyiz lütfen?