Obsah
Reprezentace
Uložení dat v paměti
Zobrazení
Převod na polygony
Volume Rendering
Průchod paprsku modelem
Zobrazování objemových dat
Volume rendering
Volumetrická data se skládají z
voxelů
(volumetric element)
Možnost reprezentace materiálu, ne jen povrchu
Využití: CT/MR, strojírenství, geologie, simulace
Reprezentace
Uniformní mřížka voxelů
Ortogonální
Polární
Sférická
Nestrukturovaná
Hierarchické dělení prostoru
Quadtree
Octree
Implicitní objemy
Uložení dat v paměti
3D pole
Hierarchické mřížky
Komprese: RLE (Run length encoding)
Zobrazení
Převod na polygony
Marching Cubes
Procházení po krychlích
256 možných stavů; v praxi různé varianty 15 stavů a zrcadlení, otočení
Vytváří orientovanou uzavřenou trojúhelníkovou plochu
Je třeba definovat, který voxel je „uvnitř“, a který „vně“
Slepý převod na velký počet trojúhelníků
Možnost děr v síti a nejednoznačnost
Volume Rendering
Vrhání paprsku
Vrhání paprsku do objemu (Ray-casting)
Ovlivnění paprsku: Hustotou, Osvětlením, Vyzářené světlo, Útlum podél paprsku
Pokud chceme stíny, nutno počítat normálu z objemu
Pomalé, kvalitní, objemné na paměť
Optimalizace
Snadná paralelizace
Empty space leaping – prázdný prostor přeskočíme
Early ray termination – Výpočet podél paprsku ukončíme, je-li příspěvek dalšího voxelu nepodstatný (např. prošel hustým materiálem).
Multiple and adaptive sampling – Podvzorkování objemu, adaptivní krok podél paprsku, rozlišení renderovaného obrazu, atd.
Voxel Splatting
Projekce voxelů na rovinu
Zepředu dozadu
Stopa s Gaussovým rozložením
Barva podle hodnoty, segmentace a povrchu
Překrývání a prolínání stop podle průhlednosti
Horší kvalita, středně rychlé
Nemusíme mít objem v paměti celý
Snadná paralelizace
Shear-warp rekonstrukce
Posun rovin modelu pro narovnání paprsků do směru mřížky
Prostá projekce posunutých rovin na čelní stěnu
Barva podle hodnoty, segmentace a povrchu
Překrývání a prolínání podle průhlednosti
Rychlé, dobrá kvalita
Nemusíme mít objem v paměti celý
Možnost změny vzorkování
Existuje i HW implementace
Texturování
Zobrazení polygonů s texturami, jako řezy objemem
Blending jednotlivých řezů, podle průhlednosti voxelů
2D texturování, řezy ve směru nejvíce přivrácené stěny
3D texturování, řezy kolmo ke směru pohledu
Dobrá kvalita, při plné hardwarové implementaci velmi rychlé
Průchod paprsku modelem
Jak najdeme počátek a konec paprsku: Ray-casting pomocí GLSL