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.AddBeam( Vector startPos, number width, number textureEnd, table color )
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.BlurRenderTarget( ITexture rendertarget, number blurx, number blury, number passes )
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.
string render.Capture( table captureData )
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.
render.ClearRenderTarget( ITexture texture, table color )
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
Vector render.ComputeDynamicLighting( Vector position, Vector normal )
Belirtilen yüzey için dinamik ışıkların neden olduğu aydınlatmayı hesaplar.
Vector render.ComputeLighting( Vector position, Vector normal )
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.
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.
render.CopyTexture( ITexture texture_from, ITexture texture_to )
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.
render.CullMode( number cullMode )
Ayıklama modunu (cull mode) ayarlar. Ayıklama modu, geometri render edilirken arka yüzlerin nasıl ayıklanacağını tanımlar.
render.DepthRange( number depthmin, number depthmax )
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.DrawScreenQuadEx( number startX, number startY, number width, number height )
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.
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.
render.DrawTextureToScreenRect( ITexture tex, number x, number y, number width, number height )
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.FogColor( number red, number green, number blue )
Sis rengini ayarlar.
render.FogEnd( number distance )
Sisin maksimum yoğunluğuna ulaştığı mesafeyi ayarlar.
render.FogMaxDensity( number maxDensity )
Sisin maksimum yoğunluğunu ayarlar.
render.FogMode( number fogMode )
Sis modunu ayarlar.
render.FogStart( number fogStart )
Sisin görünmeye başladığı mesafeyi ayarlar.
Haritanın ortam rengini döndürür.
number render.GetBlend()
Mevcut alfa harmanlamasını (alpha blending) döndürür.
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.
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.
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.
Sis modunu döndürür.
Tam ekran derinlik dokusunu döndürür.
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.
Vector render.GetLightColor( Vector position )
Belirtilen pozisyondaki ışık maruziyetini alır.
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.
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.
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
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. .
İkinin Kuvveti (Power Of Two) Kare Arabelleği (Frame Buffer) dokusunu döndürür.
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).
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.
SSAO derinliği için _rt_ResolvedFullFrameDepth dokusunu döndürür. Sadece GM:NeedsDepthPass true döndürürse güncellenir.
ITexture render.GetScreenEffectTexture( number textureIndex = 0 )
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
İlk çeyrek boyutlu kare arabellek (frame buffer) dokusunu döndürür.
İkinci çeyrek boyutlu kare arabellek (frame buffer) dokusunu döndürür.
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
Bakınız: render.GetSuperFPTex
Vector render.GetSurfaceColor( Vector startPos, Vector endPos )
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.
Doğrusal ton eşleme ölçeğini temsil eden bir vektör döndürür.
table render.GetViewSetup( boolean noPlayer = false )
Mevcut görünüm kurulumunu (view setup) döndürür.
render.MaterialOverride( IMaterial or nil material = nil )
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.MaterialOverrideByIndex( number index = nil, IMaterial material = nil )
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.
Renderer'ın işleyebileceği maksimum doku yüksekliğini döndürür.
Renderer'ın işleyebileceği maksimum doku genişliğini döndürür.
render.Model( table settings, CSEnt ent = nil )
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.
render.OverrideAlphaWriteEnable( boolean enable, boolean shouldWrite )
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.
render.OverrideColorWriteEnable( boolean enable, boolean shouldWrite )
Sonraki tüm render işlemlerinin mevcut render hedefinin renk kanalına yönelik yazma davranışını geçersiz kılar.
render.OverrideDepthEnable( boolean enable, boolean shouldWrite )
Sonraki tüm render işlemlerinin derinlik arabelleğine (depth buffer) yönelik yazma davranışını geçersiz kılar.
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
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.
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.
render.PushCustomClipPlane( Vector normal, number distance )
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.RenderHUD( number x, number y, number w, number h )
HUD'ı ekrana render eder.
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.
render.SetAmbientLight( number r, number g, number b )
Yaklaşan herhangi bir render işlemi için ortam aydınlatmasını ayarlar.
render.SetBlend( number blending )
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.
Mevcut çizim materyalini "color" olarak ayarlar. Materyal şu şekilde tanımlanır: "UnlitGeneric" { "$basetexture" "color/white" "$model" 1 "$translucent" 1 "$vertexalpha" 1 "$vertexcolor" 1 }
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.
render.SetFogZ( number fogZ )
Sis modu MATERIAL_FOG_LINEAR_BELOW_FOG_Z olarak ayarlanmışsa, sis yalnızca belirtilen yüksekliğin altında render edilir.
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
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.
render.SetModelLighting( number lightDirection, number red, number green, number blue )
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.
render.SetRenderTargetEx( number rtIndex, ITexture texture )
Belirtilen dizine sahip render hedefini belirtilen rt'ye ayarlar.
render.SetScissorRect( number startX, number startY, number endX, number endY, boolean enable )
Çizim alanını sınırlayan bir makaslama (scissoring) dikdörtgeni ayarlar. (kırpma olarak da bilinir)
render.SetShadowColor( number red, number green, number blue )
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
Yaklaşan render işlemleri için ton eşleme ölçeğini ayarlar.
render.SetViewPort( number x, number y, number w, number h )
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.
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.
render.StartBeam( number segmentCount )
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
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.
Mevcut ayarların ve sistemin piksel gölgelendiricileri (pixel shaders) 1.4 kullanımına izin verip vermediğini döndürür.
Mevcut ayarların ve sistemin piksel gölgelendiricileri (pixel shaders) 2.0 kullanımına izin verip vermediğini döndürür.
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
Parlaklığı etkileyen HDR ton eşlemesini etkinleştirir.
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.
İkinin kuvveti (power of two) dokusunu günceller.
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