render
Render kütüphanesi, dünyanın ve içeriğinin nasıl render edileceğini kontrol etmenizi sağlayan güçlü bir fonksiyon setidir. Işınlar (beams), kutular ve küreler gibi bazı 3B istemci taraflı efektleri çizmek için de kullanılabilir.
Metotlar
render.StartBeam tarafından başlatılan ışına (Beam) bir Işın Segmenti ekler.
Işınlar hakkında daha detaylı bilgi ve kullanım örnekleri için Işınlar Render Referansı'na (Beams Render Reference) bakın
Render hedefini (veya verilen bir dokuyu) bulanıklaştırır.
Bunu TEXTUREFLAGS_POINTSAMPLE ile oluşturulmuş bir RenderTarget üzerinde çağırmak, tuhaf görsel hatalara neden olacaktır.
render.BrushMaterialOverride( IMaterial mat = nil )
Bu fonksiyon, sonraki render işlemleri için fırça (brush) materyalini geçersiz kılar. Entity:DrawModel ile kullanılabilir.
Mevcut render hedefinin bir kısmını yakalar ve veriyi belirtilen formatta ikili (binary) bir dize olarak döndürür.
Piksel arabelleği her karede kendini temizlediği için, bu fonksiyon render hook'ları dışında siyah bir ekran döndürecektir. Kullanıcının son görünümünü yakalamak için GM:PostRender kullanın. Bu, kullanıcının ekranındaki Steam arayüzünü veya üçüncü taraf enjeksiyonları (Discord arayüzü, Overwolf ve gelişmiş hileler gibi) yakalamayacaktır.
PNG modunda, bu fonksiyon ön planın şeffaf olarak render edildiği beklenmedik sonuçlar üretebilir.
Bu durum, _rt_fullframefb içinde render etme de dahil olmak üzere çoğu render işlemi yapılırken render.SetWriteDepthToDestAlpha'nın true olarak ayarlanmasından kaynaklanır. Render hedefinin içeriğini yalnızca çıktı kalitesi için PNG görüntüsü olarak yakalamak istiyorsanız, render.SetWriteDepthToDestAlpha true olarak ayarlanmış render hedeflerini yakalarken RenderCaptureData yapısının alpha değerini false olarak ayarlayın. Sorun Takipçisi: 2571
Bu fonksiyon, kaçış menüsü (escape menu) açıksa nil döndürür
render.CapturePixels()
Bu, 2B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 2B Render Hook'larında çalışacağı anlamına gelir.
Mevcut render hedefini boşaltır ve piksellere render.ReadPixel tarafından erişilmesine izin verir.
Bir render hook'u dışında yakalama yapmak 0 0 0 255 döndürür
render.Clear( number r, number g, number b, number a, boolean clearDepth = false, boolean clearStencil = false )
Mevcut render hedefini ve belirtilen arabellekleri temizler.
Bu, render hedefleri için surface çizim çağrılarında alfayı yanlış ayarlar. Sorun Takipçisi: 2085
render.ClearBuffersObeyStencil( number red, number green, number blue, number alpha, boolean clearDepth )
Aktif Render Hedefinin her pikselini mevcut Stencil yapılandırmasına karşı test eder ve geçen her piksel için Renk Kanalı değerlerini ve isteğe bağlı olarak Derinlik Arabelleği (Depth Buffer) değerlerini ayarlar.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
Bu fonksiyon kendi başına Stencil Arabelleğini (Stencil Buffer) temizlemez.
Stencil Arabelleğini temizlemek isterseniz, render.ClearStencil kullanabilirsiniz
render.ClearDepth( boolean clearStencil = true )
Derinlik arabelleğini (depth buffer) sıfırlar.
Bir render hedefini temizler.
Değiştirilen render hedefi üzerinde önce render.Clear, sonra render.SetRenderTarget kullanır.
render.ClearStencil()
O anda aktif olan Render Hedefindeki tüm pikseller için Stencil Arabelleği (Stencil Buffer) değerini 0'a ayarlar.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
render.ClearStencilBufferRectangle( number startX, number startY, number endX, number endY, number stencilBufferValue )
Belirtilen bir dikdörtgen içindeki her pikselin Stencil Arabelleği (Stencil Buffer) değerini belirli bir değere ayarlar.
Bu, render.SetStencilWriteMask'tan etkilenmez.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
Belirtilen yüzey için dinamik ışıkların neden olduğu aydınlatmayı hesaplar.
Belirli bir yüzeyin ışık rengini hesaplar.
3B bir kürenin 2B bir ekrandaki çapını hesaplar.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
render.CopyRenderTargetToTexture( ITexture Target )
O anda aktif olan Render Hedefini belirtilen dokuya kopyalar.
Bu, Derinlik arabelleğini (Depth buffer) kopyalamaz, şu an için bilinen bir yöntemi yoktur, bu yüzden yaygın bir geçici çözüm, kaynak dokuyu başka bir yerde saklamak, çizim işlemlerinizi yapmak, sonucu başka bir yere kaydetmek ve kaynak dokuyu yeniden uygulamaktır.
Bir dokunun içeriğini diğerine kopyalar. Sadece render hedefleriyle çalışır.
Bu, Derinlik arabelleğini (Depth buffer) kopyalamaz, şu an için bilinen bir yöntemi yoktur, bu yüzden yaygın bir geçici çözüm, kaynak dokuyu başka bir yerde saklamak, çizim işlemlerinizi yapmak, sonucu başka bir yere kaydetmek ve kaynak dokuyu yeniden uygulamaktır.
Ayıklama modunu (cull mode) ayarlar. Ayıklama modu, geometri render edilirken arka yüzlerin nasıl ayıklanacağını tanımlar.
Yaklaşan render'ın derinlik aralığını ayarlar.
render.DrawBeam( Vector startPos, Vector endPos, number width, number textureStart, number textureEnd, Color color = Color( 255, 255, 255 ) )
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
İki nokta arasında uzanan, dokulu, billboardlanmış bir dörtgenden (quad) oluşan tek segmentli bir Işın (Beam) çizer.
Daha detaylı bilgi ve kullanım örnekleri için Işınlar Render Referansı'na (Beams Render Reference) bakın
render.DrawBox( Vector position, Angle angles, Vector mins, Vector maxs, table color = Color( 255, 255, 255 ) )
3B uzayda bir kutu çizer.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
render.DrawLine( Vector startPos, Vector endPos, table color = Color( 255, 255, 255 ), boolean writeZ = false )
3B uzayda bir çizgi çizer.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
render.DrawQuad( Vector vert1, Vector vert2, Vector vert3, Vector vert4, table color = Color( 255, 255, 255 ) )
2 bağlı üçgen çizer. Materyalin render.SetMaterial ile ayarlanmasını bekler.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
render.DrawQuadEasy( Vector position, Vector normal, number width, number height, table color, number rotation = 0 )
Bir dörtgen (quad) çizer. Materyalin render.SetMaterial ile ayarlanmasını bekler.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
render.DrawScreenQuad( boolean applyPoster = false )
render.SetMaterial ile ayarlanan mevcut materyali tüm ekrana çizer. Renk özelleştirilemez.
Ayrıca bakınız: render.DrawScreenQuadEx.
Bu, 2B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 2B Render Hook'larında çalışacağı anlamına gelir.
render.SetMaterial ile ayarlanan mevcut materyali belirtilen alana çizer. Renk özelleştirilemez.
Ayrıca bakınız: render.DrawScreenQuad.
Bu, 2B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 2B Render Hook'larında çalışacağı anlamına gelir.
render.DrawSphere( Vector position, number radius, number longitudeSteps, number latitudeSteps, table color = Color( 255, 255, 255 ) )
3B uzayda bir küre çizer. Daha önce render.SetMaterial ile ayarlanmış materyal kürenin yüzeyine uygulanacaktır.
Tel kafes eşdeğeri için render.DrawWireframeSphere'e bakın.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
render.DrawSprite( Vector position, number width, number height, table color = Color( 255, 255, 255 ) )
3B uzayda bir sprite çizer.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
render.DrawTextureToScreen( ITexture tex )
Tüm ekran üzerine bir doku çizer.
Bu, 2B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 2B Render Hook'larında çalışacağı anlamına gelir.
Dokulu bir dikdörtgen çizer.
Bu, 2B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 2B Render Hook'larında çalışacağı anlamına gelir.
render.DrawWireframeBox( Vector position, Angle angle, Vector mins, Vector maxs, table color = Color( 255, 255, 255 ), boolean writeZ = false )
3B uzayda bir tel kafes kutu çizer.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
render.DrawWireframeSphere( Vector position, number radius, number longitudeSteps, number latitudeSteps, table color = Color( 255, 255, 255 ), boolean writeZ = false )
3B uzayda bir tel kafes küre çizer.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
Kırpma (clip) renderer'ının durumunu ayarlar ve önceki durumu döndürür.
Diğer modların/oyunun istenmeyen render davranışlarını önlemek için, kırpma durumunu önceki değerine geri döndürmelisiniz.
render.EndBeam()
render.StartBeam ile başlatılan bir ışının ışın ağını (beam mesh) sonlandırır.
Işınlar hakkında daha detaylı bilgi ve kullanım örnekleri için Işınlar Render Referansı'na (Beams Render Reference) bakın
render.FogMaxDensity( number maxDensity )
Sisin maksimum yoğunluğunu ayarlar.
Vector render.GetAmbientLightColor()
Haritanın ortam rengini döndürür.
ITexture render.GetBloomTex0()
Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız.
Bir Render Hedefi oluşturmanız gerekiyorsa GetRenderTargetEx kullanabilirsiniz
Bloom Son İşlem (Post Processing) efekti için dahili olarak kullanılan Render Hedefi dokusunu döndürür.
ITexture render.GetBloomTex1()
Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız.
Muhtemelen sadece özel bir render hedefi kullanmak istersiniz. GetRenderTargetEx'e bakın.
Bulanıklık (Blur) Son İşlem efekti için dahili olarak kullanılan Render Hedefi dokusunu döndürür.
Adına rağmen, bu fonksiyon Bloom efekti için kullanılmaz.
Mevcut renk modülasyonu değerlerini normal olarak döndürür.
number render.GetDXLevel()
Mevcut olan maksimum DirectX sürümünü döndürür.
Mevcut sis rengini döndürür.
Sis başlangıç ve bitiş mesafesini döndürür.
number render.GetFogMode()
Sis modunu döndürür.
ITexture render.GetFullScreenDepthTexture()
Tam ekran derinlik dokusunu döndürür.
boolean render.GetHDREnabled()
HDR'nin şu anda etkin olup olmadığını döndürür. Bu, donanım desteğini, mevcut haritayı ve mevcut istemci ayarlarını dikkate alır.
Belirtilen pozisyondaki ışık maruziyetini alır.
ITexture render.GetMoBlurTex0()
Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız.
Muhtemelen sadece özel bir render hedefi kullanmak istersiniz. GetRenderTargetEx'e bakın.
Hareket Bulanıklığı (Motion Blur) ve Kare Harmanlama (Frame Blend) son işlem efektleri için dahili olarak kullanılan ilk render hedefi dokusunu döndürür.
ITexture render.GetMoBlurTex1()
Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız.
Muhtemelen sadece özel bir render hedefi kullanmak istersiniz. GetRenderTargetEx'e bakın.
Hareket Bulanıklığı (Motion Blur) ve Kare Harmanlama (Frame Blend) son işlem efektleri için dahili olarak kullanılan ikinci render hedefi dokusunu döndürür.
ITexture render.GetMorphTex0()
Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız.
Muhtemelen sadece özel bir render hedefi kullanmak istersiniz. GetRenderTargetEx'e bakın.
Geçiş (Morph) son işlem efekti için dahili olarak kullanılan ilk render hedefi dokusunu döndürür
Son işlem efekti Garry's Mod 13'ün geliştirilmesi sırasında bir noktada temel oyundan kaldırılmıştır, ancak hala bir topluluk modu olarak bulunabilir: https://steamcommunity.com/sharedfiles/filedetails/?id=501088470
ITexture render.GetMorphTex1()
Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız.
Muhtemelen sadece özel bir render hedefi kullanmak istersiniz. GetRenderTargetEx'e bakın.
Geçiş (Morph) son işlem efekti için dahili olarak kullanılan ikinci render hedefi dokusunu döndürür.
Daha fazla bilgi için render.GetMorphTex0'a bakın. .
ITexture render.GetPowerOfTwoTexture()
İkinin Kuvveti (Power Of Two) Kare Arabelleği (Frame Buffer) dokusunu döndürür.
ITexture render.GetRefractTexture()
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir.
render.GetPowerOfTwoTexture'nin takma adıdır (alias).
render.GetPowerOfTwoTexture'nin takma adıdır (alias).
ITexture render.GetRenderTarget()
O anda aktif olan render hedefini döndürür.
Mevcut render hedefini bu fonksiyonla kaydedip daha sonra geri yüklemek yerine, genellikle render.PushRenderTarget ve render.PopRenderTarget kullanmak daha iyi bir uygulamadır.
ITexture render.GetResolvedFullFrameDepth()
SSAO derinliği için _rt_ResolvedFullFrameDepth dokusunu döndürür. Sadece GM:NeedsDepthPass true döndürürse güncellenir.
Ekranın bir ITexture'ını alın. Bu dokuyu o anda render edilen sahneyle güncellemek için render.UpdateScreenEffectTexture'ı çağırmalısınız.
Bu doku esas olarak GM:RenderScreenspaceEffects içinde kullanılır
ITexture render.GetSmallTex0()
İlk çeyrek boyutlu kare arabellek (frame buffer) dokusunu döndürür.
ITexture render.GetSmallTex1()
İkinci çeyrek boyutlu kare arabellek (frame buffer) dokusunu döndürür.
ITexture render.GetSuperFPTex()
Ekranla aynı çözünürlükte bir kayan noktalı (floating point) doku (RGBA16161616F formatı) döndürür.
gmodscreenspace, bir kayan noktalı dokuyu bir tamsayı dokusuna (ör. varsayılan render hedefi) çizerken beklendiği gibi davranmaz. Bunun yerine bir UnlitGeneric materyali kullanın
ITexture render.GetSuperFPTex2()
Bakınız: render.GetSuperFPTex
Bir render izlemesi (trace) yapar ve vurulan yüzeyin rengini döndürür, bu dokunun düşük çözünürlüklü bir versiyonunu kullanır.
Vector render.GetToneMappingScaleLinear()
Doğrusal ton eşleme ölçeğini temsil eden bir vektör döndürür.
Mevcut görünüm kurulumunu (view setup) döndürür.
Tüm sonraki Entity:DrawModel çağrıları için render materyali geçersiz kılmasını ayarlar. Ayrıca render.MaterialOverrideByIndex'ı da geçersiz kılar.
render.MaterialOverride'a benzer, ancak materyalleri dizine göre geçersiz kılar. Entity:SetSubMaterial'e benzer
render.MaterialOverride bu fonksiyonun etkilerini geçersiz kılar.
number render.MaxTextureHeight()
Renderer'ın işleyebileceği maksimum doku yüksekliğini döndürür.
number render.MaxTextureWidth()
Renderer'ın işleyebileceği maksimum doku genişliğini döndürür.
Yeni bir ClientsideModel oluşturur, belirtilen pozisyon/açıda render eder ve kaldırır. Bunun yerine yeniden kullanmak için mevcut bir CSEnt de verilebilir.
Bu fonksiyon sadece tek geçişli bir render senaryosunda kullanılmak üzere tasarlanmıştır, bir modeli sürekli olarak render etmeniz gerekiyorsa, önbelleğe alınmış bir ClientsideModel kullanın ve ikinci argüman olarak sağlayın. Bunu bir harita modeliyle (game.GetWorld():GetModel()) kullanmak oyunu çökertir. Sorun Takipçisi: 2688
render.ModelMaterialOverride( IMaterial material )
Gelecekteki tüm çizim işlemlerini belirli bir IMaterial kullanmaya zorlar.
Bu, belirli bir Entity'den bağımsız olduğu için, haritaların parçası olan statik modellerde materyalleri değiştirmek için kullanılabilir.
Sonraki tüm render işlemlerinin mevcut render hedefinin alfa kanalına yönelik yazma davranışını geçersiz kılar.
Ayrıca bakınız: render.OverrideBlend.
Alfa değeri 0 olarak ayarlanmış surface çizim çağrıları yapmak bir işlem değildir ve hiçbir zaman bir etkisi olmayacaktır.
render.OverrideBlend( boolean enabled, number sourceMultiplier, number destinationMultiplier, number blendingFunction ) (+ 2 aşırı yükleme)
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" rengi olarak adlandırılır) çizim işlemi tarafından üretilen yeni renkle ("Kaynak" veya "Src" rengi olarak adlandırılır) birleştirerek ("Karıştırarak" veya "Blending") yeni rengini belirler.
Bu fonksiyon, bu iki rengin (Kaynak ve Hedef) nihai piksel rengini üretmek için nasıl birleştirileceğini kontrol etmenizi sağlar.
Renklerin (0-255) aralığında değerler kullanmasına rağmen, burada kullanılan renk ve alfa değerlerinin (0-1) aralığına normalleştirildiğini bilmek önemlidir, böylece birlikte çarpılarak hala (0-1) aralığında bir değer üretebilirler.
render.OverrideBlendFunc( boolean enabled, number srcBlend, number destBlend, number srcBlendAlpha = nil, number destBlendAlpha = nil )
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir.
Bunun yerine render.OverrideBlend kullanın.
Render edilmiş bir dokunun nihai rengini ve alfasını belirlemek için kullanılan dahili grafik fonksiyonlarını geçersiz kılar.
Ayrıca bakınız: render.OverrideAlphaWriteEnable.
Alfa değeri 0 olarak ayarlanmış surface çizim çağrıları yapmak bir işlem değildir ve hiçbir zaman bir etkisi olmayacaktır.
Sonraki tüm render işlemlerinin mevcut render hedefinin renk kanalına yönelik yazma davranışını geçersiz kılar.
Sonraki tüm render işlemlerinin derinlik arabelleğine (depth buffer) yönelik yazma davranışını geçersiz kılar.
render.PerformFullScreenStencilOperation()
Bir çizim işlemi yapmadan aktif Render Hedefindeki her piksel üzerinde bir Stencil işlemi gerçekleştirir.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
render.PopCustomClipPlane()
Mevcut aktif kırpma düzlemini (clipping plane) kırpma düzlemi yığınından kaldırır.
render.PopFilterMag()
Büyütme (magnification) doku filtresi yığınına en son itilen (eklenen) doku filtresini çıkarır (kaldırır).
Bu fonksiyon yalnızca bir büyütme filtresi render.PushFilterMag() aracılığıyla itildikten sonra çağrılmalıdır.
Daha detaylı bilgi ve bir kullanım örneği için doku küçültme ve büyütme render referansına bakın.
render.PopFilterMin()
Küçültme (minification) doku filtresi yığınına en son itilen (eklenen) doku filtresini çıkarır (kaldırır).
Bu fonksiyon yalnızca bir küçültme filtresi render.PushFilterMin() aracılığıyla itildikten sonra çağrılmalıdır.
Daha detaylı bilgi ve bir kullanım örneği için doku küçültme ve büyütme render referansına bakın.
render.PopFlashlightMode()
Mevcut el feneri modunu el feneri modu yığınından çıkarır.
render.PopRenderTarget()
Son render hedefini ve görüntüleme alanını (viewport) RT yığınından çıkarır ve onları mevcut render hedefi ve görüntüleme alanı olarak ayarlar.
Bu, render.PushRenderTarget çağrısından sonra önceki render hedefini ve görüntüleme alanını geri yüklemek için çağrılmalıdır.
Kırpma düzlemi (clip plane) yığınına yeni bir kırpma düzlemi iter ve onu aktif olarak ayarlar.
Linux/POSIX'te en fazla 2, Windows'ta ise 6 kırpma düzlemi desteklenir. Sorun Takipçisi: 2687
render.PushFilterMag( number texFilterType )
Büyütme (magnification) doku filtresi yığınına bir doku filtresi iter (ekler).
Bu, yaklaşan render ve çizim işlemleri için dokuların kendi doğal çözünürlüklerinden daha büyük boyutlara nasıl gerileceğini değiştirir.
Aynı fonksiyonun doku boyutlarını doğal çözünürlüklerinden daha küçük boyutlar için filtrelemeyi değiştiren bir versiyonu için render.PushFilterMin()'e bakın.
Doku filtreleme sorunlarını önlemek için sonrasında her zaman render.PopFilterMag()'ı çağırdığınızdan emin olun.
Daha detaylı bilgi ve bir kullanım örneği için doku küçültme ve büyütme render referansına bakın.
render.PushFilterMin( number texFilterType )
Küçültme (minification) doku filtresi yığınına bir doku filtresi iter (ekler).
Bu, yaklaşan render ve çizim işlemleri için dokuların kendi doğal çözünürlüklerinden daha düşük bir çözünürlüğe nasıl sıkıştırılacağını değiştirir.
Aynı fonksiyonun doku boyutlarını doğal çözünürlüklerinden daha büyük boyutlar için filtrelemeyi değiştiren bir versiyonu için render.PushFilterMag()'e bakın.
Doku filtreleme sorunlarını önlemek için sonrasında her zaman render.PopFilterMin()'i çağırdığınızdan emin olun.
Daha detaylı bilgi ve bir kullanım örneği için doku küçültme ve büyütme render referansına bakın.
render.PushFlashlightMode( boolean enable = false )
Yaklaşan render için el feneri projeksiyonunu etkinleştirir.
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir.
Bu, belirli koşullar altında modelleri aydınlatılmış bırakacaktır. Bunun yerine doğrudan bu fonksiyonun yerini alması amaçlanan render.RenderFlashlights'ı kullanmalısınız.
render.PushRenderTarget( ITexture texture = nil, number x = 0, number y = 0, number w = texture:Width(), number h = texture:Height() )
Mevcut render hedefini ve görüntüleme alanını (viewport) RT yığınına iter, ardından yeni bir mevcut render hedefi ve görüntüleme alanı ayarlar. Görüntüleme alanı belirtilmezse, bunun yerine render hedefinin boyutları kullanılır.
Bu, mevcut render hedefinin ve görüntüleme alanının önceden kaydedildiği bir render.SetRenderTarget ve render.SetViewPort çağrısına benzer, ancak görüntüleme alanı ekran sınırlarına kırpılmaz.
Ayrıca bakınız: render.PopRenderTarget.
Render hedefine 2B modunda render yapmak istiyorsanız ve ekranla aynı boyutta değilse, cam.Start2D ve cam.End2D kullanın. Render hedefi ekrandan daha büyükse, DisableClipping'i çağırmadığınız sürece surface kütüphanesiyle yapılan render ekran sınırlarına kırpılacaktır
render.CapturePixels tarafından gönderilen RenderTarget'tan belirtilen pikselin rengini okur
render.RedownloadAllLightmaps( boolean DoStaticProps = false, boolean UpdateStaticLighting = false )
Bu, engine.LightStyle kullanılarak harita aydınlatmasında yapılan değişiklikleri uygular.
render.RenderFlashlights( function renderFunc )
Bir IMesh üzerinde eklemeli (additive) el fenerlerini render eder, render.PushFlashlightMode'un doğrudan yerine geçer.
render.RenderView( table view = nil )
Sahneyi belirtilen viewData ile mevcut aktif render hedefine render eder.
Statik proplar ve LOD'lar yanlış algılanan mesafe nedeniyle düzgün render edilmez. Sorun Takipçisi: 1330
SWEP:PostDrawViewModel() gibi 3B bir bağlamda bir RenderTarget dokusu üzerinde render.RenderView kullanmak ve aynı anda RenderTarget dokusunu çizmek ekran titremelerine neden olur
Model aydınlatmasını belirtilen renge sıfırlar.
Verilen renkle her yön için render.SetModelLighting'i çağırır.
render.ResetToneMappingScale( number scale )
HDR ton çarpanını belirtilen değere sıfırlar.
Bu yalnızca HDR haritalarda çalışır ve yalnızca bir kez çağrılırsa değer otomatik olarak eski haline (veya render.SetGoalToneMappingScale'in ne olduğuna) geri döner.
Yaklaşan herhangi bir render işlemi için ortam aydınlatmasını ayarlar.
Yaklaşan render işlemleri için alfa harmanlamasını (veya şeffaflığı) ayarlar.
RGB renk kanallarını etkilemek için render.SetColorModulation fonksiyonuna bakın.
Bu tek başına, aynı modelin diğer parçalarının önünde olan model parçalarında görünür üst üste binmelere neden olur.
Buna bir çözüm için aşağıdaki örneklere bakın.
Bu, model olmayan render.Draw* fonksiyonlarını etkilemez. Sorun Takipçisi: 3166
Bir materyalde $alphatest bayrağı etkinse, bu fonksiyon beklendiği gibi davranmayabilir çünkü alfa ikili olacaktır, bunun varsayılan kesme değeri 0.7'dir.
render.SetColorMaterial()
Mevcut çizim materyalini "color" olarak ayarlar.
Materyal şu şekilde tanımlanır:
"UnlitGeneric"
{
"$basetexture" "color/white"
"$model" 1
"$translucent" 1
"$vertexalpha" 1
"$vertexcolor" 1
}
render.SetColorMaterialIgnoreZ()
Mevcut çizim materyalini color_ignorez olarak ayarlar.
Materyal şu şekilde tanımlanır:
"UnlitGeneric"
{
"$basetexture" "color/white"
"$model" 1
"$translucent" 1
"$vertexalpha" 1
"$vertexcolor" 1
"$ignorez" 1
}
Modelleri render etmek gibi yaklaşan render işlemleri için renk modülasyonunu ayarlar.
Daha güçlü bir etki için değerler 1'i aşabilir.
Alfa kanalını etkilemek için render.SetBlend fonksiyonuna bakın.
Sis modu MATERIAL_FOG_LINEAR_BELOW_FOG_Z olarak ayarlanmışsa, sis yalnızca belirtilen yüksekliğin altında render edilir.
render.SetGoalToneMappingScale( number scale )
Hedef HDR ton eşleme ölçeğini ayarlar.
Her karede sıfırlandığı için bunu bir render/think hook'unda kullanın.
render.SetLightingMode( number Mode )
Bir şey render ederken aydınlatma modunu ayarlar.
Dünya ve HUD/UI'nin etkilenmesi gibi beklenmedik davranışlardan kaçınmak için varsayılan değeri geri yüklemeyi unutmayın
render.SetLightingOrigin( Vector lightingOrigin )
Mevcut model için aydınlatma başlangıç noktasını ayarlar.
Bu, prop_physics için çalışmaz. Sorun Takipçisi: 2804
render.SetLightmapTexture( ITexture tex )
Yaklaşan render işlemlerinde ışık haritası (lightmap) olarak kullanılacak dokuyu ayarlar. Bu, LightmappedGeneric gibi ışık haritalı bir shader kullanan bir materyal ile ağları (mesh) render ederken gereklidir.
render.SetLocalModelLights( table lights = {} )
Yaklaşan herhangi bir render işlemi için yerel aydınlatmayı ayarlar. Üç farklı türden (nokta, yönlü, spot) biriyle en fazla 4 yerel ışık tanımlanabilir.
Argümansız çağrılırsa tüm yerel ışıkları devre dışı bırakır.
render.SetMaterial( IMaterial mat )
render'ı kullanarak yaklaşan herhangi bir render işleminde kullanılacak materyali ayarlar.
surface.SetMaterial ile karıştırılmamalıdır.
Yaklaşan herhangi bir render işlemi için ortam aydınlatmasını ayarlar. Ortam aydınlatması, çizilecek nesneyi çevreleyen bir küp olarak görülebilir, her bir yüzü nesneye doğru parlayan yönlü bir ışık kaynağını temsil eder. Dolayısıyla, ayrı ayrı yapılandırılabilen toplam altı farklı ışık kaynağı vardır.
Işık rengi bileşenleri belirli bir aralıkla (yani 0-255) sınırlı değildir, bunun yerine daha yüksek değerler daha parlak bir ışıkla sonuçlanacaktır.
render.SetRenderTarget( ITexture texture )
Render hedefini belirtilen rt'ye ayarlar.
Belirtilen dizine sahip render hedefini belirtilen rt'ye ayarlar.
Çizim alanını sınırlayan bir makaslama (scissoring) dikdörtgeni ayarlar. (kırpma olarak da bilinir)
Gölge rengini ayarlar.
render.SetShadowDirection( Vector shadowDirections )
Gölge projeksiyon yönünü ayarlar.
render.SetShadowDistance( number shadowDistance )
Maksimum gölge projeksiyon aralığını ayarlar.
render.SetShadowsDisabled( boolean newState )
Gelecekteki herhangi bir render işleminin gölge çizmeyi yok sayıp saymayacağını ayarlar.
render.SetStencilCompareFunction( number compareFunction )
Bir çizim işleminden etkilenen tüm piksellerin Stencil Arabelleği (Stencil Buffer) değerinin test edileceği Karşılaştırma Fonksiyonunu ayarlar.
NEVER veya ALWAYS gibi statik bir değere ayarlanmadığında, etkilenen her piksele karşılık gelen Stencil Arabelleği değeri mevcut Referans Değeri ile karşılaştırılacaktır.
Karşılaştırma Fonksiyonu kontrolünü Geçen pikseller, çizim işleminin nihayetinde pikselin Renk Kanalı, Stencil Arabelleği ve Derinlik Arabelleği değerlerinin üzerine yazmasına izin verilip verilmeyeceğini belirleyen Derinlik Testine (Depth Test) geçer.
Karşılaştırma Fonksiyonu kontrolünde Başarısız olan piksellerin Stencil Arabelleği değerine Başarısız İşlemi (Fail Operation) uygulanır ve Render Hedefi katmanlarının hiçbiri çizim işlemi tarafından değiştirilmez.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
render.SetStencilEnable( boolean newState )
Gelecekteki çizim işlemleri için Stencil sistemini etkinleştirir veya devre dışı bırakır.
Etkinleştirildiğinde, çizim işlemlerinden etkilenen tüm piksellerin aktif Render Hedefi'nin Stencil Arabelleğindeki (Stencil Buffer) karşılık gelen değerleri, mevcut Referans Değeri ile karşılaştırılacak ve mevcut Derinlik Arabelleği (Depth Buffer) değeri, çizim işleminden gelen karşılık gelen pikselin derinliği ile karşılaştırılacaktır.
Bu karşılaştırmaların sonuçlarına bağlı olarak, pikselin Stencil Arabelleği değeri üzerinde Geçti (Pass), Başarısız (Fail) veya Z-Başarısız (Z-Fail) işlemlerinden biri gerçekleştirilir.
Bir piksel, yalnızca Geçti İşlemi (Pass Operation) gerçekleştirilirse aktif Render Hedefinde güncellenir.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
Stencil sisteminin yapılandırması otomatik olarak sıfırlanmaz.
Beklenmeyen davranışları önlemek için, etkinleştirdikten sonra Stencil sisteminin kullanım durumunuza uygun şekilde yapılandırıldığından daima manuel olarak emin olun.
render.SetStencilFailOperation( number failOperation )
Karşılaştırma Fonksiyonu pikseli Geçemezse, çizim işlemlerinden etkilenen piksellerin Stencil Arabelleği (Stencil Buffer) değerlerine uygulanacak Stencil İşlemini ayarlar.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
render.SetStencilPassOperation( number passOperation )
Karşılaştırma Fonksiyonu pikseli Geçerse, çizim işlemlerinden etkilenen piksellerin Stencil Arabelleği (Stencil Buffer) değerlerine uygulanacak Stencil İşlemini ayarlar.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
render.SetStencilReferenceValue( number referenceValue )
Stencil sisteminin Referans Değerini ayarlar; bu değer, Karşılaştırma Fonksiyonunda her pikselin karşılık gelen Stencil Arabelleği değeriyle karşılaştırılır ve Geçti (Pass), Başarısız (Fail) ve Z-Başarısız (Z Fail) işlemlerinde aynı piksellerin Stencil Arabelleği değerini değiştirmek için kullanılabilir.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
render.SetStencilTestMask( number bitMask )
Stencil Arabelleğinden okundukları (test edildikleri) sırada tüm değerlerle bitsel VE (bitwise AND) işlemine tabi tutulacak işaretsiz 8-bit (byte) bit bayrağı maskesini ayarlar.
Bu, birçok Stencil kullanım durumu için gerekli olmadığından "niş" bir Stencil fonksiyonu olarak kabul edilebilir.
Bu, yazıldıkları sırada Stencil Arabelleği değerlerini değiştiren render.SetStencilWriteMask'a eşlik eden bir fonksiyondur.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
render.SetStencilWriteMask( number bitMask )
Stencil Arabelleğine yazıldıkları sırada tüm değerlerle bitsel VE (bitwise AND) işlemine tabi tutulacak işaretsiz 8-bit (byte) bit bayrağı maskesini ayarlar.
Bu, birçok Stencil kullanım durumu için gerekli olmadığından "niş" bir Stencil fonksiyonu olarak kabul edilebilir.
Bu, okundukları sırada Stencil Arabelleği değerlerini değiştiren render.SetStencilTestMask'a eşlik eden bir fonksiyondur.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
render.SetStencilZFailOperation( number zFailOperation )
Karşılaştırma Fonksiyonu belirli bir pikseli Geçerse, ancak Derinlik Testini (Depth Test) Geçemezse, çizim işlemlerinden etkilenen piksellerin Stencil Arabelleği (Stencil Buffer) değerlerine uygulanacak Stencil İşlemini ayarlar.
Stencil sistemi hakkında daha ayrıntılı bilgi ve kullanım örnekleri için Şablonlar (Stencils) Render Referans sayfasına bakın
render.SetToneMappingScaleLinear( Vector scales )
Yaklaşan render işlemleri için ton eşleme ölçeğini ayarlar.
Görüş portu (view port) konumunu ve boyutunu değiştirir. Değerler oyunun ekran çözünürlüğüne kenetlenecektir.
Bir dokuya (render hedefi) bir şey render etmek istiyorsanız, render.PushRenderTarget kullanmalısınız.
Bu fonksiyon, ScrW ve ScrH değerlerini ayarladıklarınızla geçersiz kılacaktır.
render.SetWriteDepthToDestAlpha( boolean enable )
Dahili INT_RENDERPARM_WRITE_DEPTH_TO_DESTALPHA parametresini ayarlar
render.Spin()
Kare arabelleklerini (frame buffers) değiştirir/kareyi döngüye sokar. Başka bir deyişle, bu ekranı günceller.
Tek bir kare render'ı sırasında çok uzun zaman harcarsanız, bunu kullanmak ve kullanıcının oyunun takılı kalmadığını bilmesini sağlamak iyi bir fikirdir.
Bu, 3B render bağlamı gerektiren bir render fonksiyonudur.
Bu, yalnızca 3B Render Hook'larında çalışacağı anlamına gelir.
Çok segmentli bir Işın (Beam) çizmeye başlayın.
Işınlar hakkında daha detaylı bilgi ve kullanım örnekleri için Işınlar Render Referansı'na (Beams Render Reference) bakın
boolean render.SupportsHDR()
Oyuncunun donanımının HDR'yi (Yüksek Dinamik Aralık) destekleyip desteklemediğini döndürür. HDR, mat_hdr_level konsol değişkeni tarafından hala devre dışı bırakılabilir veya sadece harita tarafından desteklenmeyebilir.
boolean render.SupportsPixelShaders_1_4()
Mevcut ayarların ve sistemin piksel gölgelendiricileri (pixel shaders) 1.4 kullanımına izin verip vermediğini döndürür.
boolean render.SupportsPixelShaders_2_0()
Mevcut ayarların ve sistemin piksel gölgelendiricileri (pixel shaders) 2.0 kullanımına izin verip vermediğini döndürür.
boolean render.SupportsVertexShaders_2_0()
Mevcut ayarların ve sistemin köşe gölgelendiricileri (vertex shaders) 2.0 kullanımına izin verip vermediğini döndürür.
render.SuppressEngineLighting( boolean suppressLighting )
Yaklaşan herhangi bir render işlemi için herhangi bir motor aydınlatmasını bastırır veya etkinleştirir.
Bu, IMesh'leri etkilemez. Sorun Takipçisi: 4070
render.TurnOnToneMapping()
Parlaklığı etkileyen HDR ton eşlemesini etkinleştirir.
render.UpdateFullScreenDepthTexture()
render.GetFullScreenDepthTexture tarafından döndürülen dokuyu günceller.
render.SupportsPixelShaders_2_0 false döndürürse sessizce başarısız olur.
ITexture render.UpdatePowerOfTwoTexture()
İkinin kuvveti (power of two) dokusunu günceller.
render.UpdateRefractTexture()
Hemen hemen render.UpdatePowerOfTwoTexture'nin takma adıdır (alias) ancak dokuyu döndürmez.
render.UpdateScreenEffectTexture( number textureIndex = 0 )
Tüm ekranı, render.GetScreenEffectTexture aracılığıyla elde edilebilen ekran efekti dokusuna kopyalar. Bu fonksiyon esas olarak GM:RenderScreenspaceEffects içinde kullanılmak üzere tasarlanmıştır
render.WorldMaterialOverride( IMaterial mat = nil )
Bu fonksiyon, bir kare için tüm harita materyallerini geçersiz kılar.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord