# render.OverrideBlend

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

```lua
render.OverrideBlend( boolean enabled, number sourceMultiplier, number destinationMultiplier, number blendingFunction )
```

```lua
render.OverrideBlend( boolean enabled, number sourceColorMultiplier, number destinationColorMultiplier, number colorBlendingFunction, number sourceAlphaMultiplier = none, number destinationAlphaMultiplier = none, number alphaBlendingFunction = none )
```

```lua
render.OverrideBlend( boolean enabled )
```

## Açıklama

Yaklaşan çizim işlemlerinden etkilenen her piksel için nihai renk ve alfanın nasıl hesaplandığını geçersiz kılar.

Bir çizim işlemi gerçekleştirildiğinde, render sistemi çizim işleminden etkilenen her pikseli inceler ve pikselin mevcut rengini ("Hedef" veya "Dst" renk olarak adlandırılır) çizim işlemi tarafından üretilen yeni renkle ("Kaynak" veya "Src" renk olarak adlandırılır) birleştirerek ("Karıştırarak") yeni rengini belirler.

Bu fonksiyon, nihai piksel rengini üretmek için bu iki rengin (Kaynak ve Hedef) nasıl birleştirileceğini kontrol etmenizi sağlar.

[Color](https://gmod.tr/wiki/Global.Color)'lar `(0-255)` aralığında değerler kullanırken, burada kullanılan renk ve alfa değerlerinin `(0-1)` aralığına normalize edildiğini bilmek önemlidir, böylece birlikte çarpılarak hala `(0-1)` aralığında bir değer üretebilirler.

## Varsayılan Argümanlar

1. [boolean](https://gmod.tr/wiki/boolean) **enabled**: Karışım Geçersiz Kılmalarını (Blend Overrides) etkinleştirmek için `true` olarak ayarlayın.
2. [number](https://gmod.tr/wiki/number) ile [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) **sourceMultiplier**: Bu, Karıştırma Fonksiyonuna gönderilmeden önce etkilenen her pikselin **Kaynak renk ve alfasının** hangi değerle çarpılacağını belirler. [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) enumarasyonlarından biridir.
3. [number](https://gmod.tr/wiki/number) ile [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) **destinationMultiplier**: Bu, Karıştırma Fonksiyonuna gönderilmeden önce etkilenen her pikselin **Hedef renk ve alfasının** hangi değerle çarpılacağını belirler. [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) enumarasyonlarından biridir.
4. [number](https://gmod.tr/wiki/number) ile [BLENDFUNC enum](https://gmod.tr/wiki/Enums/BLENDFUNC) **blendingFunction**: Kaynak ve Hedef renk ve alfası ilgili çarpanlarıyla çarpıldıktan sonra, onları piksel için nihai renk ve alfaya birleştiren Karıştırma Fonksiyonuna geçirilirler. [BLENDFUNC enum](https://gmod.tr/wiki/Enums/BLENDFUNC) enumarasyonlarından biridir.

Argüman Aşırı Yüklemesi: Ayrı Renk ve Alfa Karıştırması

1. [boolean](https://gmod.tr/wiki/boolean) **enabled**: Karışım Geçersiz Kılmalarını (Blend Overrides) etkinleştirmek için `true` olarak ayarlayın.
2. [number](https://gmod.tr/wiki/number) ile [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) **sourceColorMultiplier**: Bu, Renk Karıştırma Fonksiyonuna gönderilmeden önce etkilenen her pikselin **Kaynak renginin** hangi değerle çarpılacağını belirler. [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) enumarasyonlarından biridir.
3. [number](https://gmod.tr/wiki/number) ile [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) **destinationColorMultiplier**: Bu, Renk Karıştırma Fonksiyonuna gönderilmeden önce etkilenen her pikselin **Hedef renginin** hangi değerle çarpılacağını belirler. [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) enumarasyonlarından biridir.
4. [number](https://gmod.tr/wiki/number) ile [BLENDFUNC enum](https://gmod.tr/wiki/Enums/BLENDFUNC) **colorBlendingFunction**: Kaynak ve Hedef renkleri ilgili çarpanlarıyla çarpıldıktan sonra, onları piksel için nihai renk ve alfaya birleştiren Renk Karıştırma Fonksiyonuna geçirilirler. [BLENDFUNC enum](https://gmod.tr/wiki/Enums/BLENDFUNC) enumarasyonlarından biridir.
5. [number](https://gmod.tr/wiki/number) ile [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) **sourceAlphaMultiplier** = none: Bu, Alfa Karıştırma Fonksiyonuna gönderilmeden önce etkilenen her pikselin **Kaynak alfasının** hangi değerle çarpılacağını belirler. [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) enumarasyonlarından biridir.
6. [number](https://gmod.tr/wiki/number) ile [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) **destinationAlphaMultiplier** = none: Bu, Alfa Karıştırma Fonksiyonuna gönderilmeden önce etkilenen her pikselin **Hedef alfasının** hangi değerle çarpılacağını belirler. [BLEND enum](https://gmod.tr/wiki/Enums/BLEND) enumarasyonlarından biridir.
7. [number](https://gmod.tr/wiki/number) ile [BLENDFUNC enum](https://gmod.tr/wiki/Enums/BLENDFUNC) **alphaBlendingFunction** = none: Kaynak ve Hedef alfaları ilgili çarpanlarıyla çarpıldıktan sonra, onları piksel için nihai alfaya birleştiren Alfa Karıştırma Fonksiyonuna geçirilirler.

Argüman Aşırı Yüklemesi: Karışım Geçersiz Kılmalarını Devre Dışı Bırakma

1. [boolean](https://gmod.tr/wiki/boolean) **enabled**: Karışım geçersiz kılmalarını devre dışı bırakmak için `false` olarak ayarlayın.

### Örnek

Bu örnekte, oyuncumuzun kafasının üzerine bir şimşek çakarız.

Şimşeği PreDrawTranslucentRenderables kancasında (hook) çizmemeliyiz çünkü bu, şimşeğin arkasındaki saydam nesnelerin renderlanmasında sorunlara neden olur, ancak bu, fonksiyonun nasıl çalıştığına dair hızlı bir örnektir. Normalde, özel bir lua efektinin [EFFECT:Render](https://gmod.tr/wiki/EFFECT:Render)'ında çizilmelidir.

> **HATA:** Bu geçersiz kılma Linux'ta düzgün çalışmayabilir
> Sorun Takipçisi: [5693](https://github.com/Facepunch/garrysmod-issues/issues/5693)

```lua
-- Render edilecek sprite dokumuz. Bu dokuyu render.OverrideBlend olmadan
-- renderlamak, şimşek huzmesinin etrafında siyah kenarlıklara neden olacaktır.
local lightningMaterial = Material("sprites/lgtning")

hook.Add( "PreDrawTranslucentRenderables", "LightningExample", function(isDrawingDepth, isDrawingSkybox)

	if isDrawingDepth or isDrawSkybox then return end

	local ply = Entity(1)

	if !IsValid(ply) then return end

	-- Şimşeğe biraz hareket katmak için kullanılacak rastgele bir UV hesapla
	local uv = math.Rand(0, 1)

	-- Dokudan gelen renk ve alfayı yorumlamak için karışım geçersiz kılmasını etkinleştir.
	render.OverrideBlend( true, BLEND_SRC_COLOR, BLEND_SRC_ALPHA, BLENDFUNC_ADD, BLEND_ONE, BLEND_ZERO, BLENDFUNC_ADD )

	render.SetMaterial(lightningMaterial)

	-- Oyuncunun üzerindeki bir çizgi boyunca rastgele kaydırılmış noktalarda bir şimşek huzmesi renderla.
	render.StartBeam(5)
	render.AddBeam(ply:GetPos() + Vector(0,0,035), 20, uv, Color(255,255,255,255))
	render.AddBeam(ply:GetPos() + Vector(0,0,135) + Vector(math.Rand(-20,20),math.Rand(-20,20),0), 20, uv*2, Color(255,255,255,255))
	render.AddBeam(ply:GetPos() + Vector(0,0,235) + Vector(math.Rand(-20,20),math.Rand(-20,20),0), 20, uv*3, Color(255,255,255,255))
	render.AddBeam(ply:GetPos() + Vector(0,0,335) + Vector(math.Rand(-20,20),math.Rand(-20,20),0), 20, uv*4, Color(255,255,255,255))
	render.AddBeam(ply:GetPos() + Vector(0,0,435) + Vector(math.Rand(-20,20),math.Rand(-20,20),0), 20, uv*5, Color(255,255,255,255))
	render.EndBeam()

	 -- Karışım geçersiz kılmasını devre dışı bırak
	render.OverrideBlend( false )

end )
```

**Çıktı:** ![](https://gmod.tr/api/uploads/wiki/acb0c941928ff1340a6c.png)

- [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.OverrideBlend
