3D grafika

Počítačová 3D grafika je v informatike označenie pre špeciálnu oblasť počítačovej grafiky, ktorá pracuje s trojrozmernými objektmi. Prevod 3D objektov do 2D zobrazenia sa nazýva renderovanie. Najznámejším využitím počítačovej 3D grafiky je vytváranie animácií (pre tvorbu filmov alebo počítačových hier), avšak 3D grafika je využívaná i vo vede a priemysle (napr. pre počítačové simulácie alebo trojrozmerné zobrazenie orgánov).

História

Výskum v oblasti 3D grafiky prebiehal súčasne na mnohých miestach prevažne v USA od 60. rokov 20. storočia. Najvýznamnejšiu rolu v tomto obore zohrala Univerzita v Utahu, kde bol založený projekt pre rozvoj počítačovej grafiky. Niekoľko výskumníkov iniverzity neskôr založilo významné firmy na poli počítačovej grafiky, napríklad Silicon Graphic, Adoby Systems, Netspace alebo Pixar.  Neopomenuteľným produktom uťažskej univerzity je najslávnejší model v histórii počítačovej grafiky, Kanvica z Utahu, ktorú vytvoril Martin Newell.

Konvica z Utahu, najslávnejší 3D model

Konvica z Utahu, najslávnejší 3D model

Prvým filmom, kde sa objavili 3D grafické počítačom generované obrázky, sa v roku 1976 stal Futureworld a prvým celovečerným 3D- animovaným filmom bol Toy Story z roku 1995.

Modelovanie

Pojmom 3D modelovanie sa rozumie proces tvarovania a vytvárania 3D modelu, ktorý môže byť reprezentovaný niekoľkými spôsobmi. Modely môžu byť vytvorené na počítači človekom pomocou modelovacieho nástroja, podľa dát získaných prístrojom z reálneho sveta alebo na základe počítačovej simulácie.

Reprezentácia telies

Asi najobvyklejšou reprezentáciou tvaru telesa je tzv. hraničná reprezentácia. Teleso je popísané  ako mnohosten určený svojimi hranicami (stenami, hranami a vrcholmi). Takmer všetky počítačové modely, ktoré sa používaj v hrách a vo filmoch, sú hraničné modely.

V projektovaní a CAD sa používa metóda CSG (konštruktívna geometria pevných telies). Modely sa konštruujú z primitívnych geometrických telies (guľa, kváder, valec, kužeľ, toroid) operáciami zjednotenia prieniku a rozdielu. Pre zobrazovanie sa tento model prevádza do hraničnej reprezentácie.

V objemovej reprezentácii sú telesá definované ako množina bodových vzorkou získaných napr. lekárskym tomografom alebo 3D skenerom. Pre zobrazenie sa používa metóda sledovania paprskov, špeciálne algoritmy (ktoré zviditeľňujú buď objem alebo povrch) alebo sa telesá prevádzajú do hraničnej reprezentácie.

Texturovanie

Jednou z najvýznamnejších činností pri tvorbe 3D grafiky je vytváranie a mapovanie textúr. Textúra je obrázok, ktorým je obalené teleso. V najjednoduchšej forme sú textúry požívané pre zafarbenie modelu, ale na telese môže byť viac vrstiev textúr, ktoré určujú napríklad i priehľadnosť či lesklosť v danom bode na povrchu. Pomocou textúr je možné dosiahnuť veľmi dobrých výsledkov a vysokú úroveň detailov pri použití relatívne jednoduchého modelu.

Každý bod na povrchu telesa má potom okrem súradníc X,Y,Z (ktoré určujú polohu bodu v priestore) ešte 2 súradnicové označenie väčšinou ako U a V, ktoré určujú umiestnenie textúry na danom mieste. Proces umiestňovania textúry na povrch telesa sa preto často nazýva ,,UV mapovanie,,.

Animácie

Pod pojmom animácie sa v 3D grafike nerozumie iba samotný pohyb objektov, ale i definícia svetla, uhľov pohľadu kamery, farieb a ďalších prvkov, ktoré sa môžu meniť v čase. Najjednoduchšia metóda animácie zvaná keyframing je založená na rovnakom princípe ako klasická 2D počítačová animácia. Spočíva v definovaní kľúčových ,,medzných,, pozícii, medzi ktorými potom počítač vytvorí plynulý prechod.

Animácia postáv a mechanických zariadení je v 3D grafike často založená na animácii kostry modelu. Rovnako ako skutočný živý organizmus sj v 3D model má kostru a jednotlivým častiam modelu sa určí, ku ktorej kosti náleží. Pokročilé 3D grafické nástroje uľahčujú animáciu kostry vďaka technike nazvanej inverzná kinematika. na rozdiel od klasickej animácie kostry, keď animátor určuje uhly všetkých kĺbov, stačí pri použití inverznej kinematiky určiť pozíciu niekoľkých kľúčových častí kostry a polohy kĺbov sú dopočítané algoritmicky.

Existuje mnoho ďalších techník animácie, ktoré sa používajú v 3D grafike. Niektoré programy umožňujú animáciu na základe simulácie fyzikálnych javov ako je gravitácia, pohyb vodnej hladiny a podobne. Pre veľmi realistickú animáciu postáv sa zas využíva technológia motion capture, keď je pomocou špeciálneho zariadenia zachytený pohyb živého herca a nahrané dáta sú potom aplikované na 3D model postavy.

Renderovanie

Rendering je vykreslení dvojrozmerného obrazu na základe modelu scény a ďalších informácií (polohy pozorovateľa, osvetlenia a tieňovania). Simulujú sa hlavne tieto vlastnosti obrazu:

  • Tieňovanie- kolísanie farby a jasu povrchu v závislosti na osvetlení
  • Texturovanie- dodanie realistického vzhľadu povrchu modelu
  • Bump mapping- metoda napodobňujúca drobné nerovnosti povrchu
  • Hmla- tlmení svetla pre priechode atmosférou
  • Tiene- dôsledok zakrytia iným objektom
  • Odraz svetla- zrkadlové alebo veľmi reflexie
  • Priehľadnosť- šírenie svetla cez objekty bez skreslenia
  • Priesvitnosť- šírenie svetla cez objekty zo skreslením
  • Difrakcia- ohyb, šírenie a interferencia paprskov na hranách objektov
  • Hĺbka ostrosti- objekty vzdialené od objektu v centre pozornosti sa javia nezaostrene
  • Pohybové rouostrenie- rýchle sa pohybujúce objekty sa javia rozmazane
  • Ne-fotorealistické zobrazovanie- vykresľovanie scény v umeleckom štýle, ktorý má pripomínať maľovanie alebo kreslenie.