CINEMA 4D a renderovací technologie

16.1.2014· Autor: Pavel Zoch, Ph.D.· Přidat komentář

S kolegy z Digital Media jsme počátkem roku domlouvali, co nás čeká a nemine. A vzhledem k tomu, že se nás asi brzy dotknou dosti zásadní změny a události, měli bychom začít rychle. Jedním z témat které bychom rádi důkladně prošli jsou renderovací technologie, které má, či bude mít v blízké budoucnosti, CINEMA 4D k dispozici. Tentokráte ale nikoliv z pohledu nějaké aplikace, ale přehledu, a následně také srovnání. K tématu se budeme průběžně vracet. Dnes začneme výčtem a základním porovnáním všech technologických možností.

Berte to prosím jako živý článek, určitě se k němu ještě vrátíme a budeme jej doplňovat, Změní se tak pravděpodobně i perex, ale rád bych z tohoto článku vytvořil informační rozcestník. Navíc téma postupně budeme doplňovat videi a komparacemi jednotlivých řešení.

Unbias/bias – non unbias řešení

Co je k čemu?

Obecně řečeno. Unbias systémy používají neoptimalizovaný systém simulace osvětlení. Jak takovou optimalizaci vnímat? Vezměme si například technologii Irradiance cache globální iluminace. Ta si scénu zmenší (několikrát), a snaží se na základě definované hustoty bodů detekovat plochy scény viditelné z aktivní kamery a následně na těchto bodech analyzuje shading points – osvětlení. Poté se vytvoří mapa osvělení a ta se prolíná od bodu k bodu. Jedná se tedy o metodu, která výrazně zjednoduše výpočet celé scény.

Naproti tomu systémy unbias většinou vycházejí z Path tracingu (a dalších odvozených technologií), který počítá každý jeden pixel scény (ve smyslu všech jeho vlastností) a to v závislosti na úhlu pohledu kamery (ala fresnel a pod). Nedochází tedy k takové míře zjednodušení, jako v případě zmíněné technologie IR a podobně. Výsledkem je, že dané technologie jsou extrémně blízké realitě.

Co je lepší?

Těžko říci. Jednoduchá odpověď neexistuje, přesto vše můžeme shrnout do následujících bodů. Žádný z těchto bodů ale není dogmatem, podle stylu scény či interních optimalizací (které ale mohou být na druhou stranu i zrádné) nemusí některé body platit vždy a všude!

  1. Unbias renderery jsou výrazně pomalejší, bias – non unbias jsou rychlejší
    (poznámka, nemusí platit v případě specifických materiálů – sklo apod. a otevřených scén)

  2. Non unbias renderery a technologie jsou náročnější na znalosti uživatelů, méně náročné na výkon hardware

  3. Unbias renderery jsou výrazně závislejší na hardware, ale mají často širší technologickou hardware základnu. Často dokáží využít jak výkon CPU, tak GPU

  4. Unbias systémy mívají velmi slušné možnosti distribuce síťových výpočtů. Podobné možnosti nabízí i non unbias, přesto svou podstatou je distribuce unbias intenzivnější (výpočet není rozdělen do mnoha navazujících fází)

  5. Unbias scény jsou při výpočtu více závislé na RAM počítače. Velikosti scén (zapakovaných do vypočítavané scény) jsou podstatně větší, než scény non unbias.

  6. Unbias rendery mají rychlejší odezvu. Rychle můžeme komparovat výsledek, nicméně pro dosažení dobré kvality (bez šumu), je často nutné počkat mnoho hodin

  7. Non unbias renderery mají podstatně vyšší kompoziční možnosti. Nabízejí vyšší spektrum různých multi pass informací a dalších kompozičních vymožeností

  8. Unbias rendery nezřídka umí upravovat míru osvětlení během/po výpočtu. Je tak možné po výpočtu upravovat barevnost světel, jejich intenzitu (nebo je vypnout) a podobně.

  9. Unbias rendery umí simulovat „fotografický“ materiál, na který byl při „vyfocení“ použit. I tyto údaje lze většinou měnit během a nebo po výpočtu.

  10. Non unbias systémy mívají výrazně rychlejší editaci materiálů, unbias náhledy jsou interně také renderované a proto jsou pomalé

  11. Unbias materiály jsou silnější při tvorbě reálných simulací (jako například disperzní spektrum – rozklad světla pomocí trojúhelníkového hranolu).

  12. Unbias systémy jsou snazší na nastavení osvětlení, vše je striktně fyzikální a proto de facto automatické. Není nutné definovat systémy GI, kaustiky ani dalších efektů. Maximálně jsou k dispozici různé modely vhodnější pro tu či onu sitaci.

  13. Spektrum různých speciálních shaderů a podobně je podstatně širší v případě non unbias systémů, avšak s tím, že tyto renderery jsou nezřídka dedikované na jednu danou konkrétní aplikaci (například shadery CINEMY 4D)

  14. Unbias většinou nepodporují speciální technologie jako prostorové projekce a další simulace a specifické technologie

  15. Unbias často (ale jsou i systémy které ano) nepodporují některé specifické technologie (volumetrické, post efektové jako vlasy a další)

  16. Materiály unbias jsou striktně fyzikální, stejně tak světelné zdroje

  17. pomocí unbias se velmi těžce simulují některé efekty, protože ty jsou ad hoc optimalizované a postavené bez efektu simulace reálného osvětlení prostoru.

Shrnutí

Z pohledu rychlosti výpočtu jsou optimalizované výpočty vhodnější pro animace, simulace různých efektů, spíše uzavřené scény (míněno ve smyslu scén, ve kterých ve skutečnosti dochází k tisícům odrazů energie a jen malé množství vzorků unikne mimo scénu) a podobně.

Naproti tomu jsou unbias vhodné pro otevřené scény (produktový design například, exteriéry), pro simulaci reálného světa. V tomto případě jsou vhodné i pro uzavřené scény s tím, že výpočtový čas významně roste. Nejsou příliš vhodné (z časových důvodů) pro animace.

Využití hardware

Všechny enginy, jak unbias tak non unbias můžeme rozdělit do tří skupin:

  1. výpočet probíhá pouze na CPU

  2. Výpočet je hybridní, probíhá jak na CPU, tak GPU

  3. Výpočet probíhá striktně na GPU

V případě výpočtů na GPU můžeme opět definovat dvě skupiny:

  1. Rendering je založen na využití technologie nVidia CUDA

  2. Rendering je založen na využití technologie OpenCL

V případě hybridních výpočtů je dále možné vše rodělit následovně

  1. paralelní výpočet CPU/GPU, obě jádra zpracovávají stejné úlohy

  2. specifický výpočet CPU/GPU, GPU je použito jen pro specifické úlohy

  3. GPU vázané na CPU, CPU zprostředkovává úlohy, které budou dále počítány pomocí GPU

Výhody CPU

  1. univerzálnost, systém je obecně funkční na všech v dané době produkovaných CPU

  2. díky možnosti vysokého potenciálu RAM (nikoliv procesoru, osazeno na MB) je možné zpracovávat i obrovská data

  3. historický přístup nabízející obrovské množství technologií, které jsou zatím do oblasti GPU pouze implementovány

Nevýhody CPU

  1. v prvé řadě je to otázka počtu jader. Výpočetní úlohy jsou logicky vzato složené z mnoha velmi podobných úloh a proto by bylo výhodné mít velký počet jader, které by tyto jednotlivé úlohy počítaly paralelně. Na to ale navazuje otázka frekvencí pamětí, procesoru a dalších součástí základní desky, pamětí a CPU, které celou tuto sestavu využívá.

  2. Nevýhodou je masivní přenos dat z procesoru do pamětí a zpět při vyžití (prozatím) jen pomalejších pamětí DDR3

Výhody GPU

  1. obrovský potenciál stream jader, malých výpočetních jednotek umožňující velmi rychlý )(paralelní) výpočet.

  2. rychlejší paměti GDDR5, širší sběrnice > rychlejší přenos dat mezi úlohami

  3. v porovnání s výkonem CPU podstatně vyšší efektivita

  4. v porovnání se shodným výkonem CPU řádově nižší cena (i při vysoké ceně některých řešení)

Nevýhody GPU

  1. omezený potenciál RAM, který může omezit potenciální užití systému. To platí zejména v případě, že se jedná o systém pracující pouze na GPU (nikoliv hybridní)

  2. Pro výkonné řešení jsou nutné další náklady a příprava stanice, zejména se jedná o otázku napájení, počtu rozhraní PCI, chlazení stanice a další „netypické“ podmínky

  3. Karta s nejnižší kapacitou RAM bývá limitem využitelného potenciálu RAM jako celku, i když karty ostatní mají vyšší potenciál.

Výhody hybridních systémů

  1. jsou univerzální, i přes absenci vhodné GPU systém pracuje

  2. sčítají se výkony CPU+GPU

  3. mohou odpadat limity způsobené velikosti RAM GPU

Nevýhody hybridních systémů

  1. některé systémy nejsou skutečnými paralelními renderery, tedy na GPU dochází jen k výpočtu části celé úloh a tak může zrychlení značně variovat

  2. některé systémy využívají CPU jako zprostředující element, který zpracovává data pro další výpočet na GPU. Tedy každá grafická karta si alokuje jedno jádro CPU. To může vést k podstatnému poklesu výkonu CPU, ten ale je, většinou, významně nahrazen výkonem GPU.

Výhody NVidia CUDA

  1. jednoznačně široká míra implementace, obliba mezi vývojáři

  2. ve většině řešení vysoká technologická úroveň, podporována je celá řada technologií jako volumetricita a další

  3. výkon grafických karet lze velmi dobře „škálovat“. Každá další GPU je markantním přínosem celého řešení. Je nutné pamatovat na to, že v případě čistého GPU řešení je limitem velikosti využitelnosti RAM karta s nejnižším potenciálem RAM (důvodem jsou paralelní výpočty).

Nevýhoda NVidia CUDA

  1. po nástupu 28 nm výrobního procesu NVidia rozdělila své produkty na dvě základní řady, na řadu vhodnou pro výpočty (grafické jádro Kepler GK 110) a ostatní, které slouží primárně jen jako zobrazovací zařízení a nejsou natolik vhodné pro výpočet (pro úzkou sběrnici, ale i další kriteria).

  2. karty s GK 110 jsou výrazně dražší než karty ostatní. Jedná se o „luxusní“ zboží

  3. profesionální gr. karty s čipem GK 110 jsou extrémně drahé

  4. karty NVidia vhodné pro výpočet nejsou dostupné (a nejsou bundlované) do platformy MacOS. Existují sice jistá řešení, ale ta nejsou standardní (externí napojení karty a pod).

Výhody OpenCL

  1. univerzální prostředí, podporuje jak CPU, tak GPU NVidia i AMD

  2. pro všechny myslitelné operační systémy (zejména míněno Win, MacOS)

  3. Výhodné pro různé APU řešení (slušný výkon za nízké finanční náklady)

  4. Podstatně lepší poměr cena výkon, AMD grafické karty mají obrovský výkon OpenCL a nižší ceny než adekvátní alternativa NVidia

Nevýhody OpenCL

  1. prozatím nižší míra implementace, méně řešení založených na OpenCL (množství se ale zvyšuje, to podporuje i implementace post produkčních nástrojů Adobe či Sony)

  2. delší vývojové skoky, momentální OpenCL 2.0 je však velkým posunem vpřed

  3. není tak aktivně spjato s produkcí výrobce hardware jako v případě NVidia, vývoj tak není tak intenzivně podporován (i marketingově)

  4. často nižší míra škálování GPU (lze předpokládat, že tato slabina se v dohledné době změní)

Závěr

Pro dnešek jsme v závěru, příště s vrhneme na desítky odkazů a aplikací, které se nás tak úzce dotýkají...

Pavel Zoch, Ph.D. Úplnej a naprostej .....

E-mail: pzdm(zavinac)digitalmedia.cz | Web: www.3dsoftware.cz | ICQ: 248707187 |

Motto: "Co ve věčnosti leží, mrtvé není, v záhadě věků i smrt se ve smrt změní." (H.P.L.)

Komentáře k článku  

Přihlášení uživatele