Galerie 21
Voxel Ray Casting: příští generace grafiky?
i Zdroj: Svět hardware
Článek Grafiky a hry Hry a technologie id Software

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

Petr Štefek

Petr Štefek

9

Seznam kapitol

1. Voxel Ray Casting: příští generace grafiky? 2. Voxel Ray Casting - co je to voxel? 3. Voxel Ray Casting - Voxel octrees 4. Voxel Ray Casting - co je to ray casting?
5. Voxel Ray Casting - výhody 6. Voxel Ray Casting – Limitace 7. Voxel Ray Casting – závěr

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.

Reklama

Voxel je stejně jako

pixel

složeninou dvou slov nebo významů, chcete-li. Pixel jsou složeninou slov „picture“ (obraz) a „element“ (základní součást) a dohromady tvoří základní součást obrazu neboli pixel. Voxel je na tom obdobně, jelikož jeho základ tvoří slova „volume“ (množství nebo objem) a „pixel“. Princip by se dal přiblížit na stavebnici Lego, kde lze vytvořit s pomocí základních jednoduchých kostiček téměř libovolný objekt či strukturu. Jste omezeni pouze jejich množstvím.

V případě voxelů je tento princip podobný, jelikož se jedná o specifické množství trojrozměrných bloků. Vše je tedy odlišné v případě polygonálních modelů, kde samotné trojúhelníky reprezentují pouze a jenom obal daného objektu.

Voxely jsou využívány hlavně v oblasti vizualizací ve zdravotnickém segmentu. Tam se uplatňují hlavně ve vizualizaci průřezových zobrazení orgánů a podobně. Vše je možné díky odlišnému principu, kde jsou základní voxely trojrozměrného charakteru. Dalším typickým využitím je ve specializovaných MRI skenerech.

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


Vizualizace ve zdravotnictví (voxely)

Samozřejmě toto řešení není samospásné, neboť v reálném světě nejsou objekty tvořeny voxely (neboli malými kostkami) a tak velmi těžko vytvoří přesný obraz reálného objektu. Nicméně pro nasazení v počítačových hrách nebo zdravotnictví je tato technika dostačující bez zřetelných limitů. Na dalším ilustračním obrázku vidíte objekt složený z voxelů. V reálné hře by samozřejmě byl takovýto objekt podstatně detailnější.

V klasickém herním enginu jsou také objekty reprezentovány skrze určitý počet polygonů, které také reprezentující nepřesný a pouze se přibližující obraz objektu. Pokud tedy chcete vytvořit co možná nejdetailnější objekt, musíte logicky tvořit z co možná nejmenších základních stavebních jednotek (v našem případě trojúhelníky nebo voxely). A čím vyšší je počet jednotek, tím vyšší jsou samozřejmě nároky na paměť.

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

Uveďme si jednoduchý příklad v případě mřížky s 1024 voxely, které zabírají 1024*1024*1024*4 (červená, zelená, modrá a alfa), a to znamená 4 GB paměti. Takovéto vytížení paměti je značné a pokud vezmeme v úvahu, že se nejedná o nějak zázračně vysoké rozlišení, máme na světě problém. Naštěstí pro tento problém existuje řešení pod názvem

„octrees“

nebo

„octal trees“

.

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

Limitace podobného charakteru, kterou jsme si uvedli v názorném příkladu, je velmi vzácná. Například simulace povrchu je relativně jednoduchá, protože pro každou buňku mřížky je možné definovat jednu maximální hodnotu. My se ale potřebujeme zbavit voxelů, které v dané scéně nejsou viditelné a od toho tady máme

Buffer Y

. Ten obsahuje maximální hodnotu Y pro každou buňku, která se testuje s hodnotou jednotlivých buněk a odstraňují se ty s menší hodnotou než je hodnota uložená v bufferu. Tato metoda je velmi jednoduchá a efektivní

.


Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama