CausticRT - blíží se hardwarový rendering nejen pro Rhino
Publikováno: 27.10.2009 | Autor: Jan Slanina | Rubrika: Renderování | Komentáře: 0 - Doporučit

O tomto demu
Toto je nejnovější interaktivní demo “pravého” globálního osvětlení na základě platformy CausticRT v renderovacím modulu Brazil pro 3dsMax. Jedná se o plně raytracovaný interiér obývacího pokoje, který obsahuje 2 080 957 polygonů a vnější i vnitřní osvětlení. Na scéně ja "klasická" geometrie jako jsou modely Stanford Dragon (drak) a Bunny (zajíček). Jednotlivé objekty se skládají z následujícího počtu polygonů:
- Zajíček: 70 000 polygonů
- Drak: 800 000 polygonů
- Budha: 1 000 000 polygonů
- Interiér: 22 000 polygonů
Rozlišení okna ActiveShade v 3dsMax je: 400×300 a 800×600
akcelerační karta CausticOne
Proč je to důležité?
Zatím nikdo nepředvedl tak komplexní demonstraci pravého interaktivního globálního osvětlení (anglicky Global Illumination - GI) na základě GPU (grafický procesor) nebo CPU implementace. Proč? Protože GPU a CPU nejsou stavěné na plné a efektivní řešení problematiky raytracingu. Platforma CausticRT tyto nedostatky řeší a umožňuje GPU a CPU stínovat s efektivitou, která je srovnatelná s rasterizací.
Problematika raytracingu je značně odlišná od rasterizace. Již jsme viděli mnoho působivých předváděček. Výzkumnící už dosáhli výkonu 100 milionů paprsků za sekundu. Ale má to vždy nějaký háček. Dema někdy předvádí efekty, které ve skutečnosti nevyžadují raytracing. Každý objekt je často stínován stejným materiálem. Scény jsou obvykle příliš malé na to, aby reprezentovaly běžnou praxi z reálného světa.
Proč jsme zatím neviděli žádný plný tracingový renderer, který by běžel na GPU?
Pokud chceme na tuto otázku odpovědět, musíme se nejprve podívat blíže na rozdíly mezi algoritmy pro ray tracing a rasterizaci.
Rasterizace je pěkným příkladem streamovacího algoritmu. Geometrie scény plyne sekvenčně řetězcem, ve kterém lze každý polygon v síti rozložit na takové fragmenty, které budou všechny stínované stejným shaderem. To umožňuje GPU jednotce stínovat mnoho pixelů společně.
Na rozdíl od rasterizace umožňuje raytracing vzájemnou interakci objektů. Technickou komplikací, kterou způsobují paprsky, odrážející se po celé scéně, je to, že ray racer potřebuje nahodilý přístup kdykoliv k čemukoliv. To znamená, že celá scéna (veškerá geometrie, shadery a příslušenství) musí být dostupné v RAM.
V současné době je dostupná karta CausticOne, která je určena pouze softwarovým vývojářům. Začátkem příštího roku by se měla objevit karta CausticTwo, která již bude určena pro masový trh. A teď se podívejte, co v současné době karta dokáže v oblasti hardwarového urychlení globálního osvětlení...
Caustic Graphics Global Illumination Demo od Ryana Shrouta na Vimeu.
Související odkazy
- http://www.caustic.com/ – Caustic - web výrobce