g_sky

Açıklama

Bu shader, özellikle haritalarla, bilhassa küp haritalarla (yukarı, aşağı, ön, arka, sol, sağ) kullanılmak üzere tasarlanmıştır. Bir haritanın atmosferini değiştirmeye olanak tanırlar.

Parametreler

Vector bottomcolor
Dokunun alt rengi (gradyan için kullanılır)
Vector duskcolor
Alacakaranlık rengi
number duskscale
Alacakaranlığın ölçeği
number duskintensity
Alacakaranlığın yoğunluğu
number fadebias
Solma eğilimi
number hdrscale
HDR ölçeği
Vector suncolor
Güneşin rengi
Vector sunnormal
Güneşin normali
number sunsize
Güneşin boyutu
Vector topcolor
Dokunun üst rengi (gradyan için kullanılır)
string startexture
Hangi yıldız dokusunun kullanılacağını belirtir
number starfade
Yıldızların ne kadar görünür olacağını belirler
number starscale
Yıldızların ölçeğini belirler
number starpos
Yıldız dokusunun kaydırma konumu. Doku kaydırma için kullanılır. Herhangi bir değer olabilir
number starlayers
Kaç katman yıldızın işleneceğini belirtir. 0 ile 4 arasında değerler kabul eder. 0, hiç yıldız işlenmeyeceği anlamına gelir

Örnek

Bu shader ile bir materyalin nasıl oluşturulacağını ve işleneceğini gösteren temel bir örnek. Bu özel örnek, mevcut gökyüzü kutusunun (skybox) üzerine özel bir gökyüzü kutusu çizer. Örnek olarak g_Sky'nin varsayılan parametrelerini kullanır.

local sky_material = CreateMaterial("g_Sky_example", "g_Sky", { ["$topcolor"] = "[0 0 1]", ["$bottomcolor"] = "[0 1 1]", ["$fadebias"] = "1.0", ["$hdrscale"] = "1.0", ["$sunnormal"] = "[0 1 0.5]", ["$duskcolor"] = "[1 0.4 0]", ["$duskscale"] = "1", ["$duskintensity"] = "1.0", ["$suncolor"] = "[1 1 1]", ["$sunsize"] = "1", ["$startexture"] = "skybox/starfield", ["$starfade"] = "1", ["$starscale"] = "1", ["$starpos"] = "1", ["$starlayers"] = "0" }) local maxs = Vector(64, 64, 64) local mins = -maxs hook.Add("PostDrawTranslucentRenderables", "", function(a, b, c) if b or c then local sun_info = util.GetSunInfo() sky_material:SetVector("$sunnormal", sun_info.direction) cam.Start3D(vector_origin, EyeAngles()) render.SetMaterial(sky_material) cam.IgnoreZ(true) -- Kutunun içeriden dışarıya doğru işlenmesi için mins ve maxs değerleri değiştirildi render.DrawBox(vector_origin, angle_zero, maxs, mins, color_white) cam.IgnoreZ(false) cam.End3D() end end)

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord