cam
Bu, ilgili "End" fonksiyonu çağrılana kadar tüm çizimlerin belirli bir 2D veya 3D düzlemine ya da pozisyonuna yapılmasını sağlar.
Matris fonksiyonları mevcuttur, ancak her bir yön için Source motorunun düzenine aşina değilseniz çoğunlukla kullanılamazlar.
Metotlar
Ekranı belirli bir pozisyonda sallar.
cam.End()
İşleyiciyi (renderer) 3D bir bağlamdan önceki çizim moduna geri döndürür.
Bu fonksiyon, cam.End3D'nin bir takma adıdır (alias).
cam.End2D()
İşleyiciyi (renderer) 2D bir bağlamdan önceki çizim moduna geri döndürür.
cam.End3D()
İşleyiciyi (renderer) 3D bir bağlamdan önceki çizim moduna geri döndürür.
cam.End3D2D()
İşleyiciyi (renderer) bir 3D2D bağlamından önceki çizim moduna geri döndürür.
cam.EndOrthoView()
İşleyiciyi (renderer) 3D ortografik işleme bağlamından önceki çizim moduna geri döndürür.
VMatrix cam.GetModelMatrix()
Yığının (stack) en üstündeki model matrisinin bir kopyasını döndürür.
Matrisi düzenlemek mevcut görünümü düzenlemez. Bunu yapmak için cam.PushModelMatrix kullanmanız gerekir.
İşleyiciye (renderer) derinlik tamponunu (depth buffer) yok saymasını ve yapılacak herhangi bir işlemi o ana kadar çizilmiş her şeyin "üzerine" çizmesini söyler.
Bu, true için render.DepthRange( 0, 0.01 ) ve false için render.DepthRange( 0, 1 ) çağırmakla aynıdır. Bakınız: render.DepthRange.
cam.PopModelMatrix()
Mevcut aktif işleme matrisini yığından (stack) çıkarır ve bir öncekini geri yükler.
Belirtilen matrisi işleme matrisi yığınına (stack) iter. OpenGL'den farklı olarak, bu mevcut model matrisinin yerini alır.
Eğer `multiply` false ise bu, cam.Start3D2D ile çalışmaz. Bir panelin Paint fonksiyonunda kullanıldığında, panelin sol üst pozisyonuna güvenmek istiyorsanız, panelin ekrana göre (0, 0) pozisyonu ile VMatrix:Translate kullanmalısınız.
Yeni bir işleme bağlamı (rendering context) ayarlar. Bu, cam.Start3D ve cam.Start2D'nin genişletilmiş bir versiyonudur. cam.End3D veya cam.End2D ile bitirilmelidir.
Bu, 3D bağlamlar için mevcut görünüm özelliklerini güncellemez. Sorun Takipçisi: 2682
cam.Start2D()
Yeni bir 2D işleme bağlamı ayarlar. cam.End2D ile bitirilmelidir.
Bu, neredeyse her zaman render'dan bir işleme hedefi (render target) ile kullanılır. Pozisyonunu ayarlamak için, önceden depolanmış bir hedefle render.SetViewPort kullanın.
Bu, model matris yığınının en üstüne bir birim matris (identity matrix) koyacaktır. Eğer cam.PushModelMatrix kullanmaya çalışıyorsanız, onu bu fonksiyondan sonra çağırın, önce değil. Bu, 2D bir işleme bağlamı sağlayan bir işleme kancasıdır (rendering hook).
cam.Start3D( Vector pos = , Angle angles = , number fov = , number x = , number y = , number w = , number h = , number zNear = , number zFar = )
Yeni bir 3D işleme bağlamı ayarlar. cam.End3D ile bitirilmelidir.
Ortografik görünüm gibi daha gelişmiş ayarlar için, temel olarak bunun bir takma adı olan cam.Start'ı kullanın.
Bu, 3D bir işleme bağlamı sağlayan bir işleme kancasıdır. Negatif x/y değerleri çalışmaz. Sorun Takipçisi: 1995Bu, mevcut görünüm özelliklerini güncellemez. Sorun Takipçisi: 2682
3D uzayda 2D içerik çizmek için model dönüşüm matrisini ayarlar ve yığına (stack) iter (cam.PushModelMatrix).
Matris formülü:
local m = Matrix()
m:SetAngles( angles )
m:SetTranslation( pos )
m:SetScale( Vector( scale, -scale, 1 ) )Bu, cam.End3D2D ile kapatılmalıdır. Aksi takdirde beklenmedik sorunlar ortaya çıkabilir.
Bloom efektiyle uğraşırken render.SetToneMappingScaleLinear kullanışlı olabilir.
Ortografik projeksiyon kullanarak yeni bir 3D bağlamı ayarlar.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord