render.MaterialOverride
Açıklama
Entity:DrawModel fonksiyonunun sonraki tüm çağrıları için render materyalinin üzerine yazma işlemini ayarlar. Ayrıca render.MaterialOverrideByIndex fonksiyonunun da üzerine yazar.
Benzer fonksiyonlar için render.WorldMaterialOverride, render.BrushMaterialOverride ve render.ModelMaterialOverride sayfalarına bakın.
Entity'nin gölge geçişi (shadow pass) gibi belirli senaryolarda bu fonksiyonu kullanmak beklenmedik yan etkilere neden olabilir. Bununla nasıl başa çıkılacağını görmek için aşağıdaki örneğe bakın.
Argümanlar
Örnek
Entity render'lanırken gölge geçişleriyle (shadow pass) başa çıkma. Bu genellikle sadece opak (transparan olmayan) render'lamalar için geçerlidir (yani ENT:DrawTranslucent için değil).
local matForOverride = Material( "phoenix_storms/stripes" )
function ENT:Draw( flags )
-- Eğer model şu anda gölge geçişinde (shadow pass) render'lanıyorsa, herhangi bir materyalin üzerine yazmayın ve modeli normal şekilde render'layın.
-- Bu durumda, modeli herhangi bir materyal üzerine yazma işlemi olmadan render'layıp fonksiyondan erken çıkıyoruz.
if ( ( bit.band( flags, STUDIO_SSAODEPTHTEXTURE ) != 0 || bit.band( flags, STUDIO_SHADOWDEPTHTEXTURE ) != 0 ) ) then
self:DrawModel( flags )
return
end
-- Kodunuzun geri kalanı. Örneğin:
render.MaterialOverride( matForOverride )
self:DrawModel( flags )
render.MaterialOverride()
end
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord