Asi každý, kdo se trochu zajímá o to, jak hry fungují, ví, že v současnosti jsou všechny postavy, předměty a vůbec celý herní svět vymodelovány pomocí obrovského množství trojúhelníků, které jakoby „obalují“ část prostoru, který má být vidět. Všechny předměty a postavy jsou ve skutečnosti „duté“, nezabírají žádný prostor, jen ho ohraničují, o čemž se můžete přesvědčit, pokud se nějakou chybou kamery ocitnete uvnitř něj. Dříve se však místo trojúhelníků používala, a možná se již brzy opět začne používat, technologie jiná – voxely.

Co je to voxel? Zjednodušeně řečeno nejmenší možná část prostoru, ze které jdou předměty „složit“. V našem světe by se voxely daly připodobnit k atomům. Ať se podíváte na jakoukoliv věc kolem vás, je to v podstatě shluk nepředstavitelného množství těchto základních částic zformovaných do určitého tvaru. Naprosto stejně to funguje i s voxely. Všechny předměty v herním světě jsou z nich sestaveny. Jen takový voxel nemá tvar koule o velikosti miliardtin centimetru, jako mají atomy, ale je mnohem větší a zpravidla má tvar krychle. Takže zatímco trojúhelníky nám nešikovným způsobem prostor jen ohraničují, voxely už určitý prostor zabírají, sami o sobě mají nějaký objem.

Představte si, jaké by to bylo, kdybyste ve hře vzali raketomet, střelili do zdi a v ní by se podle očekávání vytvořila díra, viděli byste zbytky cihel spojené maltou a vůbec celou vnitřní strukturu zdiva. A další raketou by se zeď rozpadla natolik, že byste mohli projít do další místnosti. Voxely tohle opravdu umožňují, protože ta zeď, jako kterýkoliv jiný objekt ve hře, by byl tvořen voxely nejen na povrchu, ale i uvnitř. Omítka by byla tvořena voxely bílé barvy, cihly uvnitř červeně, malta šedě a např. výbuch rakety by v podstatě odstranil všechny voxely, které jsou v jeho blízkosti. Podobně u postav by tělo už nebyla pouze schránka obalená texturou, ale mohl by to být anatomicky správný model člověka. Uvnitř hlavy by byl z voxelů vytvořen mozek, v těle ostatní orgány, zbytek by vyplňovaly voxely krve, které by byly tekuté, takže například kulka by udělala do těla postavy díru, takže krev by nic nedrželo v těle a zbytek už si můžete domyslet sami. Ne, že bych si nějak potrpěl na tyhle „gore“ efekty, ale vše by zkrátka působilo daleko reálnějším dojmem.

Asi se teď správně ptáte, proč se něco takového nepoužívá? Jak už to tak bývá, důvodem je hardware. Pro lepší pochopení – představte si, jak malý by takový voxel musel být, aby se z něj dalo vytvořit cokoliv a nebyly příliš patrné hrany (voxely jsou, jak už jsem řekl, většinou krychle). Milimetr, desetina milimetru? Nebo ještě míň? A pak si představte, kolik takových voxelů by bylo potřeba na jeden kilometr krychlový herního světa. Dostanete se k tak šílenému číslu, že vám musí být jasné, že takový počet voxelů nejde zaprvé dost rychle simulovat pro interaktivní hraní a zadruhé by na to nestačila paměť. Navíc jednoduchou matematikou zjistíte, že pro zmenšení voxelu na polovinu, by se jejich počet zvýšil osmkrát a z toho plynou mnohonásobně vyšší nároky na hardware. Naštěstí existují různé techniky a komprimace, které voxelový svět umožňují i na dnešním hardware v slušné rychlosti. Je třeba si uvědomit, že používáním voxelů odpadá akcelerace pomocí grafické karty, protože ta s nimi za běžných okolností nedokáže pracovat, takže o drtivou většinu výpočtů se stará pouze procesor, který je, jak jistě víte, proti grafické kartě mnohonásobně pomalejší.

I přesto si troufám tvrdit, že voxely jsou jednoznačně technologií budoucnosti, možná i velmi blízké, protože například procesor Cell v Playstation 3 je na takové výpočty jako dělaný. Nehledě na to, že se už dříve používaly např. v na svoji dobu graficky úžasném Outcastu nebo v starších Red Alertech pro vykreslování vozidel.

Na závěr tu dám pár ukázek voxelových enginů:

Voxlap – Výborná ukázka voxelů. Autorem je Ken Silverman (naprogramoval Build engine, využívaný v Duke Nukem 3D). Ve Voxlapu můžete zničit vše. A myslím tím opravdu všechno. Kdyby to takhle fungovalo ve hrách…

Voxelstein 3D – Tohle je starý dobrý Wolfenstein 3D na enginu výše jmenovaného Voxlapu. Škoda jen, že nějak přitvrdili s hardware nároky a na mé staré šunce to běhá asi tak s 5 snímky za vteřinu, pro vás by to však neměl být problém…

Voxelweb – Klasický voxelový terén. Takový se používal v Outcastu.

Pre-integrated Volume Renderer – renderování 3D textur, což jsou v podstatě voxely, na grafické kartě. Tohle se používá například v medicíně, kde se taková 3D textura vytvoří pomocí rentgenu nebo něčeho podobného a doktor se pak může dívat na orgány pěkně v 3D na počítači. Ve hrách to zatím nemá moc smysl kvůli strašné náročnosti na paměť. (spouštějte pomocí runme.bat)