Skybox ( anglicky sky - „ sky “ a box - „box“) je objekt v trojrozměrné grafice , který hraje roli oblohy a horizontu . Jde o jednoduchý trojrozměrný model (nejčastěji krychle ), z jehož vnitřku je natažena textura oblohy (tzv. " kubická textura ").
Zpracování 3D grafiky vyžaduje hodně výpočetní práce, takže „poctivě“ počítat objekty na horizontu ve hrách by bylo zbytečné. 3D hardware má navíc Z-buffery , které kvůli omezené bitovosti zahazují vše, co je daleko od fotoaparátu [1] . Vzdálené objekty jsou proto zobrazeny extrémně primitivním způsobem: ve formě krychle, jejíž šest tváří tvoří textury oblohy a horizontu. Pokud tuto krychli zobrazíte tak, že je kamera přesně ve středu, bude se zdát, že obloha a hory jsou ve skutečnosti skrz kameru viditelné.
Skybox vždy sleduje kameru, takže objekty zobrazené na skyboxu se zdají být daleko do nekonečna. Engine vykreslí skybox každý snímek jako první, a to vypnutím Z-bufferingu [2] .
Vysoké objekty jako věže , které jsou viditelné z libovolného bodu v úrovni, se na skybox většinou nekreslí - nepotřebují iluzi „nekonečné vzdálenosti“, ale naopak určitou polohu v prostoru. Existují však výjimky z pravidla, kdy skyboxy zobrazují obrovské struktury navržené tak, aby ukazovaly, co je mimo herní úroveň. Podobné skyboxy lze vidět v Quake II , Quake 4 , The Chronicles of Riddick: Escape from Butcher Bay atd.
Zdrojem textury může být cokoli: fotografie, kresba nebo 3D render .
Aby bylo možné nějak „oživit“ oblohu, od konce 90. let začali vývojáři do skyboxu přidávat nějakou geometrii – například vrstvy mraků a hvězd v Unreal [3] a realMyst . V Grand Prix 3 jsou od sebe odděleny válcový horizont a sférická obloha kvůli požadavku na dynamickou změnu počasí na okruhu.
V novějších hrách se skyboxy skládají z více vrstev, které sledují hráče nerovnoměrnou rychlostí . Takto je vymodelována věž Citadely v Half-Life 2 . V úrovních umístěných uvnitř Citadely jsou součástí trojrozměrného skyboxu i horní patra věže, kam hráč nemá přístup [4] . Geometrie skyboxu každopádně zůstává extrémně jednoduchá: například superportál z Half-Life 2: Episode Two je jen jeden polygon a viditelnosti portálu je dosaženo shadery [4] . V Half-Life 2 jsou 3D skyboxy vyrobeny v měřítku 1:16 - objekty jsou nakresleny 16násobkem jejich skutečné velikosti [5] .
Zajímavé je, že ve hře Portal od stejného Valve hráč nebe vůbec nevidí a autoři se při pohledu přes portál ani nepokoušeli opravit artefakty 3D skyboxu. Toto bylo opraveno v novějších verzích motoru [5] .
V 2.5D motorech, jako je Doom engine , vypadá skybox jako válec . Na rozdíl od moderních her nebyla obrazovka zaplavena skyboxem každý snímek a fragmenty oblohy byly kresleny pomocí speciálního postupu, když renderer narazil na „nebem plná“ letadla [6] .
V prvních 3D hrách ( Quake ) byla obloha „nekonečně vzdálenou“ rovinou s texturou mraků, které se přes ni pohybovaly. Taková obloha vypadá „lisovaně“, plná stratusových mraků – i když ve skutečnosti je modrá, se světlými bílými mraky. V Quake 3 je tato metoda kreslení oblohy dostupná také spolu s krychlí; kromě toho lze obě metody použít nakreslením roviny s tlakovými mraky na vrcholu krychlového skyboxu.
V některých hrách (například Grand Prix 3 ) má skybox tvar koule nebo kopule [7] . Možná je to způsobeno extrémně nízkými detaily textur a režimem softwarového vykreslování.