openGL

2010-06-26 32 views
5

'da saydam poligon nasıl çizilir? OpenGL'de alfa olduğunu biliyorum ve saydam modda çokgen çizmemde bana yardımcı olur, ama bunu nasıl yapacağımı bilmiyorum, opengGL'nin bu çokgen çizmesine izin vermesi için ne yapması gerekir.openGL

ve yardımlarınız için teşekkürler.

+6

Matias.valdenegro'nun cevabını kabul etmek için Tick'e tıklamanız yeterlidir :) –

cevap

14

Çok basit:

fonksiyonunu karıştırma temel ve sizin için iyi olmalı, ama diğerleri vardır, temel var
glEnable(GL_BLEND); //Enable blending. 
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //Set blending function. 

. Daha sonra, pencere/framebuffer'ınızın bir alfa kanalı içerdiğinden ve çizdiğiniz çokgenlerin de alfa bilgisi içerdiğinden emin olmanız gerekir.

+0

teşekkürler bu iyi oldu. – Hitman

6

Tam olarak Matias'ın dediği gibi, ama "saydamlık" işinin sözde olduğu gibi elde edilmesini, sahnede saydam olmayan tüm ilkellerin ilk önce çizilmesi gerektiğini ve şeffaf olanların da çizilmesi gerektiğini de unutmayın. Doğru sırada, Z-tamponunun arkasından öne doğru. Bunun nedeni, OpenGL'nin saydamlığı gerçekten desteklememesi, bunu alfa-harmanlama yoluyla öykünmesidir ve yeni bir nesne, daha önce oluşturulduktan sonra bir "saydam" ilkel öğenin arkasına çizilirse, yeni nesne bunun üzerinden görünmeyecek.