Jump to content

Alpha Blending Nedir?


wmismail

Recommended Posts

Alpha Blending nedir?

Bulunduğumuz dünya 3 çeşit objeden oluşur:Saydam,yarı-saydam ve saydam-olmayan objeler Alpha Blending,yarı-saydam maddelere saydamlık özelliğini kazandırmaya yarayan bir teknolojidir.

Ne işe yarar bu Alpha Blending?

Alpha Blending için 2 tane pixel alıyoruz öncelikle.Birisi zaten arka-tamponda olan pixel diğeri de arka tampona gönderilecek pixel.

Kaynağın piksel rengi = (127,255,0,0); // buradaki 127 %50 saydamlığı gösterir,yani yarı-saydamlığı.Kırmızı(255),Yeşil(0),Mavi(0);

Hedefin piksel rengi= (127,0,0,255); // buda yine 127 %50 saydamlığı gösterir.yukarıdaki gibi.Kırmızı(0),Yeşil(0),Mavi(255);

Yeni rengimiz bu iki rengin Alpha Blending işlemine tabi tutulmasından sonra ortaya çıkacak yeni reng olacaktır. Yeni Renk = Kaynak * Alpha/max_Alpha + Hedef * (max_Alpha-Alpha) / max_Alpha //fonksiyonu tamamiyle yazdım

Yukarıda yaptığımız renkleri kullanalım

yeni renk = 255 * 127/255 + 255 * (255-127) /127

yeni renk = %50 kırmızı + %100 mavi

yeni renk = Bu iki rengin karışımıdır. (%50 kırmızı ve %100 mavi)

Peki bunu projede nasıl kullanabileceğiz?

çok basit DirectX in bunun için hazır fonksiyon ve özellikleri bulunmaktadır.

Yapacağınız 3 satırlık koddur;

device.RenderState.SourceBlend = Blend.SourceAlpha; //Kaynağa Blend uygula

device.RenderState.DestinationBlend = Blend.InvSourceAlpha; //Hedefe Blend Uygula

device.RenderState.AlphaBlendEnable = true; //Alpha Blend i enable yap.Enable olmazsa yukarıda anlatılanların bir anlamı olmaz...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...