Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Voxel Ray Casting: příští generace grafiky?

16.11.2009, Petr Štefek, článek
Voxel Ray Casting: příští generace grafiky?
O společnosti id Software nebylo dlouho slyšet a nyní k nám přichází s horkou novinkou v podobě vyvíjeného grafického enginu (respektive způsobu zobrazování) s názevm Voxel Ray Casting. Tento způsob zobrazování je do jisté míry revolučnější než ray tracing, takže si o něm pojďme popovídat blíže.
Počítačová grafika se nám zdánlivě opravdu velmi rychle vyvíjí, což vidíme na stále pěknějších a realističtěji se tvářících hrách, ale skoro by se dalo říci, že opak je opravdou. Analogii bychom mohli hledat v procesorové platformě x86, která se stala tomuto odvětví takovou příslovečnou koulí u nohy. Podobně je tomu i v případě rasterizace, která dominuje odvětví počítačových her již pěknou řádku let. V průběhu devadesátých let jsme ovšem naráželi na některé alternativní grafické enginy, které poháněly hry jako byl Outcast nebo Comanche.

Dnes se pobavíme o jedné alternativní metodě zobrazování, kterou vidí některé výrazné osobnosti herní scény jako možného nástupce rasterizace. Jedním z předních zastánců a také průkopníků metody zobrazování zvané Voxel Ray Tracing je John Carmack, který stál za hity jako Doom nebo Quake. Ten prohlašuje, že vidí v ray castingu budoucnost a je efektivněji využitelný, než je tomu v případě rasterizace. Dále ovšem tvrdí, že nasazení ray tracingu tak, jak ho propaguje Intel, je poměrně těžkopádné a díky nárokům na výkon také těžko nasaditelné v reálném světě. Voxel Ray Tracing je Carmackovou alternativou a určitým průnikem obou světů.



Prezentace na posledním SIGGRAPH ukázala, že pro nás má id Software v rukávu zajímavé věci. Mnoho detailů, které byly publikovány, ukazují základní principy této nové metody. Zásadním slovíčkem v případě nové metody je voxel, který není pro nadšence zajímající se o počítačovou grafiku něčím úplně neznámým. Jednu dekádu zpět John Carmack při vývoji enginu pro Quake III experimentoval s vývojem alternativní metody renderování, která měla pracovní název Trinity. Bohužel se ovšem nakonec prosadila stará známá rasterizace a Quake III engine přesto, že se dal ve své době označit za opravdu špičkový.

I přesto, že se nakonec Trinity uložilo k ledu, se John Carmack naučil při vývoji mnohé věci, které podle všeho bude mít šanci zužitkovat teď o několik let později. Jednou z těchto věcí byly tzv. Voxel Octres (o významu později). Kdo tedy zlomil novému enginu vaz? Podle Carmacka to byla vysoká výpočetní náročnost, jelikož celý tento engine a jeho akcelerace byla softwarová. To znamenalo, že pro docílení akceptovatelné snímkové frekvence muselo být samotné rozlišení opravdu nízké (640x480 px bylo v tomto případě z říše snů). Trinity engine tak nemohl v té době konkurovat rychlosti klasickému engine na principu hardwarově akcelerovaných polygonů.


John Carmack - id Software

Carmack prohlašuje, že kdyby v té době vznikl hardwarový voxel ray-tracer, tak by vše vyžadovalo méně prostředků, než je tomu nyní v případě hardwarových rasterizérů. Všechny tyto názory jsou již téměř deset let staré, a tak se můžeme ptát, s čím na nás někdejší jednička v oblasti počítačové grafiky vyrukuje.

Výhody Voxel enginu byly ve své době hlavně ve ztvárnění povrchů a prostředí, které bylo v době absence normálové mapy nebo teselátoru velmi obtížně zobrazitelné. Zajisté si vzpomínate na hry jako byl Turok nebo Heretic, kde se nezřídka stávalo, že prostředí a terénní nerovnosti byly doslova geometricky přesné, jako byste prostředí tesali sekerou. Naproti tomu hry jako Outcast ukazovaly, že prostředí může být plastické a přirozeně členité. Některé společnosti (např. Novalogic) kombinovaly voxel engine s klasickými polygonálními modely, což vypadalo také velmi dobře.

Vtip celého kouzla členitého terénu byl v tzv. výškové mapě, která pro každý bod prostředí definovala vlastní výšku. To umožňovalo doslova vytvářet plastický terén s opravdu komplexní geometrií, o které si mohly klasické metody nechat maximálně zdát.