render.SetBlend
Açıklama
Yaklaşan render işlemleri için alfa harmanlamasını (veya şeffaflığı) ayarlar.
RGB renk kanallarını etkileyen fonksiyon için render.SetColorModulation sayfasına bakın.
Bu fonksiyon tek başına, bir modelin diğer parçalarının önünde olan kısımlarında görünür üst üste binmelere neden olur.
Bunun bir çözümü için aşağıdaki örneklere bakın.
Eğer bir materyalin $alphatest bayrağı etkinleştirilmişse, alfa ikili (binary) olacağından bu fonksiyon beklendiği gibi çalışmayabilir; bunun varsayılan kesme değeri
0.7'dir.Argümanlar
1 number blending
Yaklaşan çizim işlemleri için alfa (şeffaflık).
(0-1) aralığında bir değerdir; burada 0 tamamen şeffaf, 0.5 %50 görünür ve 1 tamamen opaktır.Örnek: Temel Kullanım (Üst Üste Binmeli)
Bu örnek, render.SetBlend'in temel kullanımını ve yukarıda bahsedilen üst üste binme etkisini göstermektedir.
-- %75 opaklıkta çizin, yani çoğunlukla opak olacak.
render.SetBlend( 0.75 )
-- Modeli az önce ayarladığımız harmanlamayı kullanarak çizin.
self:DrawModel()
-- Tekrar normal opaklıkta çizin.
render.SetBlend( 1 )
Çıktı: 

Örnek: Üst Üste Binme Sorunlarından Kaçınma
Bu örnek, render.OverrideColorWriteEnable kullanımıyla üst üste binme etkisinden nasıl kaçınılabileceğini göstermektedir.
-- Mevcut aktif Render Hedefinin Renk Kanalına çizimi engelleyin, böylece
-- modeli çizdiğimizde yalnızca Derinlik Arabelleği (Depth Buffer) değerlerini ayarlar.
render.OverrideColorWriteEnable( true, false )
-- Derinlik Arabelleği değerlerini ayarlamak için modeli çizin
self:DrawModel()
-- Tekrar normal şekilde çizmeye başlayın
render.OverrideColorWriteEnable( false, false )
-- %75 opaklıkta çizin, yani çoğunlukla opak olacak.
render.SetBlend( 0.75 )
-- Modeli az önce ayarladığımız harmanlamayı kullanarak çizin.
-- Daha önce modeli çizerek Derinlik Arabelleği değerlerini ayarladığımız için ve
-- pikseller yalnızca pikselin mevcut Derinlik Arabelleği değeri, çizim işleminin
-- yeni Derinlik değerinden küçük veya ona eşit olduğunda çizildiği için, modelin
-- yalnızca oyuncunun görüşüne en yakın olan kısımları çizilecektir.
-- Bu, normalde meydana gelen üst üste binmeyi önleyecektir.
self:DrawModel()
-- Tekrar normal opaklıkta çizin.
render.SetBlend( 1 )
Çıktı: 

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord