render.SetStencilZFailOperation

Örnek
Bu örnek, varlıkların gizli bölümlerini wallhack tarzında nasıl ortaya çıkaracağınızı gösterir (Lex'in Şablon Eğitimi'nden alınmıştır).
hook.Add( "PostDrawOpaqueRenderables", "Stencil Tutorial Example", function()
-- Her şeyi bilinen iyi duruma sıfırla
render.SetStencilWriteMask( 0xFF )
render.SetStencilTestMask( 0xFF )
render.SetStencilReferenceValue( 0 )
render.SetStencilCompareFunction( STENCIL_ALWAYS )
render.SetStencilPassOperation( STENCIL_KEEP )
render.SetStencilFailOperation( STENCIL_KEEP )
render.SetStencilZFailOperation( STENCIL_KEEP )
render.ClearStencil()
-- Şablonları etkinleştir
render.SetStencilEnable( true )
-- Referans değerini 1'e ayarla. Karşılaştırma fonksiyonu bu değere göre test yapar
render.SetStencilReferenceValue( 1 )
-- Her zaman her şeyi çiz
render.SetStencilCompareFunction( STENCIL_ALWAYS )
-- Eğer bir şey ekrana çizilecekken başka bir şeyin arkasındaysa, çizdiği pikselleri 1'e ayarla
render.SetStencilZFailOperation( STENCIL_REPLACE )
-- Varlıklarımızı çiz. Normal olarak çizilecekler
for _, ent in ipairs( ents.FindByClass( "prop_physics" ) ) do
ent:DrawModel()
end
-- Şimdi, sadece pikselleri 1 olarak ayarlanmış şeyleri çiz. Bu, şablon testlerinin gizli kısımlarıdır.
render.SetStencilCompareFunction( STENCIL_EQUAL )
-- Ekranı temizle. Bu, şablon testlerinin tüm gizli bölümlerinin üzerine camgöbeği rengi çizecektir
render.ClearBuffersObeyStencil( 0, 148, 133, 255, false )
-- Her şeyin tekrar normal şekilde render edilmesine izin ver
render.SetStencilEnable( false )
end )
Çıktı: 

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