# render.SetStencilZFailOperation

- **Ortam:** İstemci, Menü
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/render.SetStencilZFailOperation
- **Çeviri tarihi:** 2025-09-08

```lua
render.SetStencilZFailOperation( number zFailOperation )
```

## Açıklama

[Karşılaştırma Fonksiyonu](https://gmod.tr/wiki/render.SetStencilCompareFunction) (Compare Function) belirli bir pikseli geçtiyse, ancak Derinlik Testini (Depth Test) geçemedi ise, çizim işlemlerinden etkilenen piksellerin Şablon Tamponu (Stencil Buffer) değerlerinde gerçekleştirilecek olan [Şablon Operasyonunu](https://gmod.tr/wiki/Enums/STENCILOPERATION) (Stencil Operation) ayarlar.

Şablon sistemi hakkında kullanım örnekleri de dahil olmak üzere daha ayrıntılı bilgi için [Şablonlar (Stencils) Render Referansı](https://gmod.tr/wiki/render_stencils) sayfasına bakın.

## Argümanlar

1. [number](https://gmod.tr/wiki/number), [STENCILOPERATION enum](https://gmod.tr/wiki/Enums/STENCILOPERATION) ile **zFailOperation**: Karşılaştırma Fonksiyonu bir pikseli geçerse, ancak piksel Derinlik Testini geçemezse gerçekleştirilecek olan Şablon Operasyonu.

![](https://gmod.tr/api/uploads/wiki/0a65ae5f5d6a13225f17.png)

### Ö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](https://github.com/Lexicality/stencil-tutorial)'nden alınmıştır).

```lua
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ı:** ![](https://gmod.tr/api/uploads/wiki/1bdcf7eee2e02cdbd6f0.jpg)

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/render.SetStencilZFailOperation
