newdigstud.gjgt.sk · web viewv 3d grafike môžu byť 2 druhy zdrojov svetla – svet a lampa....

33
Gymnázium Jozefa Gregora Tajovského Banská Bystrica 3D počítačová grafika Od polygónu až k animovanej scéne

Upload: others

Post on 25-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Gymnázium Jozefa Gregora Tajovského Banská Bystrica

3D počítačová grafika

Od polygónu až k animovanej scéne

Michaela Nemcová

III. F

2016/2017

ObsahÚVOD.............................................................................................................................3

1 TEORETICKÉ VÝCHODISKÁ..........................................................................................4

1.1 ÚVOD DO 3D POČÍTAČOVEJ GRAFIKY.................................................................................41.2 VYUŽITIE 3D POČÍTAČOVEJ GRAFIKY...................................................................................41.3 SOFTVÉR PRE 3D POČÍTAČOVÚ GRAFIKU.............................................................................61.4 BLENDER......................................................................................................................71.5 PROCES TVORBY............................................................................................................ 81.6 VYMEDZENIE ZÁKLADNÝCH POJMOV V 3D POČÍTAČOVEJ GRAFIKE............................................91.7 3D MODEL................................................................................................................. 111.8 FORMÁTY 3D GRAFICKÝCH SÚBOROV...............................................................................11

2 PRAKTICKÁ ČASŤ......................................................................................................13

2.1 PROCES TVORBY A 3D POTRUBIE....................................................................................132.1.1 Modelovanie.....................................................................................................132.1.2 Textúrovanie a tónovanie.................................................................................152.1.3 Časticové systémy.............................................................................................162.1.4 Rigging..............................................................................................................162.1.5 Shape keys a animácia.......................................................................................172.1.6 Osvetlenie scény.................................................................................................182.1.7 Prevedenie (rendering).......................................................................................19

2.2 ZHRNUTIE PRAKTICKEJ ČASTI PRÁCE...................................................................................20

ZÁVER...........................................................................................................................21

RESUMÉ........................................................................................................................22

ZOZNAM POUŽITEJ LITERATÚRY...................................................................................23

2

Úvod

3D počítačová grafika sa v dnešnej dobe teší rastúcej popularite. Stále častejšie sa

s ňou stretávame v každodennom živote, napr. vo filmoch, rozprávkach, počítačových

hrách, ale aj v rôznych reklamách, či už v televízii, alebo v časopisoch. Ale čo vlastne

znamená pojem 3D počítačová grafika?

Cieľom mojej práce je zvýšiť povedomie mladých ľudí o tejto téme a predstaviť im

možnosti a proces tvorby pomocou 3D počítačovej grafiky. Tiež by som rada predstavila

bezplatné možnosti pre ľudí, ktorých by daná téma zaujala.

Tému mojej práce som si vybrala preto, lebo sa o ňu už pár rokov zaujímam, chcela

som sa o nej dozvedieť viac a predstaviť ju mojim mladším spolužiakom. V mojich

začiatkoch som sa totiž stretla s problémom, kedy som sa chcela venovať 3D grafike, ale

nepoznala som žiadny (bezplatný) softvér pre jej tvorbu. Aj to je dôvod, prečo som si

zvolila túto tému, ukázať možnosti ľuďom, ktorí by sa chceli venovať 3D počítačovej

grafike a odrádzajú ich ceny profesionálnych softvérov.

V teoretickej časti mojej práce rozoberiem pojem 3D počítačová grafika, jej

využitie, softvéry pre jej tvorbu a proces tvorby a vymedzím niekoľko základných pojmov,

ktoré sa v 3D grafike najčastejšie používajú.

V praktickej časti mojej práce rozoberiem proces vytvárania animovanej scény na

názornej ukážke a príkladoch, pričom výsledkom tejto práce bude animovaný model.

3

1 Teoretické východiská

1.1 Úvod do 3D počítačovej grafiky

3D počítačová grafika, inak aj trojrozmerná grafika, je pomenovanie pre určitú

oblasť počítačovej grafiky1, ktorá pracuje s trojrozmernými objektmi. Tieto objekty sú

trojdimenzionálnou reprezentáciou určitých geometrických údajov, najčastejšie zadaných

v karteziánskom súradnicovom systéme2. Môžeme ich potom využiť pre rôzne kalkulácie,

vytváranie animácií alebo vytváranie 2D obrázkov. V dnešnej dobe sú značne rozšírené aj

3D tlačiarne. Tie poskytujú možnosť previesť vytvorené objekty z 3D prostredia v počítači

do reálneho hmotného 3D modelu, čiže existencia 3D modelov už nie je obmedzená iba

na určitú formu dát na počítači.

3D počítačová grafika je matematická (resp. aj geometrická) simulácia. Sú v nej

simulované tvary 3D objektov, vzhľad ich povrchov (ako reagujú na svetlo, ich lesk, farbu,

nerovnosti,...), svetelné zdroje a kamera s perspektívou.

Verne L. Hudson spolu s Williamom Fetterom ako prví použili termín „počítačová

grafika“ v roku 1961. Softvér 3D počítačovej grafiky pre počítače v domácnostiach sa

najprv začal objavovať v neskorých 70-tych rokoch 20. storočia. Najskorší známy príklad je

3D Art Graphics, súbor 3D grafických efektov vydaných v 1978 pre Apple II.

1.2 Využitie 3D počítačovej grafiky

3D počítačová grafika sa dá aplikovať v rôznych smeroch:

„estetický

interakcia medzi človekom a počítačom

vizualizácia“3

Estetickú funkciu môže 3D počítačová grafika spĺňať najmä v umení a v zábave, t. j.

filmy, počítačové hry, rozprávky a pod. Umožňuje mnohé nové formy umeleckého

vyjadrenia, tvorcovia si môžu vybudovať pomocou 3D grafiky vlastný svet podľa svojich

1 odbor informatiky využívajúci počítače na syntetické vytváranie umelých obrazov, na úpravu fotografií, skenovanie,...2 vysvetlené v podkapitole 1.6 Vymedzenie základných pojmov v 3D počítačovej grafike3 Watson, G.: Application of Computer Graphics. 2002. [cit. 2017-05-08]. Dostupné na internete: http://www.inf.ed.ac.uk/teaching/courses/cl1/slides/14_out.pdf

4

predstáv, vznikajú nové umelecké smery a štýly. Taktiež umožňuje stvárnenie určitých

postáv, ktoré v reálnom svete normálne neexistujú, a zakomponovať ich do inak hraného

filmu.

Pomocou 3D počítačovej grafiky sa rozširujú možnosti pre interakciu medzi človekom

a počítačom. Návrhy budov, zariadení, súčiastok a pod. sa postupne presúvajú z nákresov

na výkresoch do počítačového prostredia. Tým sa zvyšuje efektivita a presnosť práce

a návrhu. Takýto proces návrhu súčiastok alebo tvorby konštrukčnej dokumentácie

pomocou počítača sa nazýva „Computer-aided design“, skratka CAD (v preklade

počítačom podporovaný návrh).

3D počítačová grafika so sebou priniesla možnosť veľkého pokroku pre vedu –

možnosť vizualizácie. Umožňuje konvertovať určité množstvo čísel do obrazov, animácií a

simulácií, ktoré môžu byť prevádzané aj v reálnom čase. Toto pomáha vedcom lepšie

porozumieť rozsiahlym množstvám dát a aj abstraktným konceptom a nápadom.

Vizualizácia prináša schopnosť pracovať a prehliadať dáta v 3D. Pomáha riešiť problémy

medicínske, napr. potreba porozumenia 3D štruktúry vnútri pacienta, ďalej vedecké, napr.

tvorba mnohodimenzionálnych modelov a ich následné skúmanie, tiež aj

environmentálne, napr. zber, porovnávanie a vyhodnocovanie dát o Zemi (NASA),

a mnohé ďalšie.

V dnešnej dobe nachádza uplatnenie v stále viac priemyselných a vedeckých

odvetviach. Okrem filmového a herného priemyslu sa uplatňuje aj v dizajne. Pri

inžinierskom dizajne sa pomocou špeciálneho softvéru vytvárajú modely budov, lietadiel,

automobilov, počítačov a iných zariadení. „Je to interaktívny dizajn stavebných

komponentov pomocou numerických simulácií fyzických pracovných podmienok.“4

V architektonickom dizajne je vytvorená finálna verzia požadovaného vzhľadu

konštrukcie, čím umožňuje študovať a prípadne meniť tento vzhľad pred samotným

budovaním. 3D počítačová grafika sa používa aj pri módnom dizajne, kde umožňuje

otestovať správanie látky a vytvára možnosť pre internetové e-shopy ponúknuť svojim

zákazníkom virtuálne „skúšobné kabínky“. V medicíne sa používa na vytvorenie detailných

modelov orgánov z viacerých kusov obrazu z magnetickej rezonancie alebo CT, a tiež aj na

tréning a vzdelávanie budúcich doktorov a diagnózu a následné určenie liečby pacienta.

4 Qin, H.: Introduction to CG Techniques and Applications. In: www3.cs.stonybrook.edu. 2005. [cit. 2017-05-17]. Dostupné na internete: www3.cs.stonybrook.edu/~qin/courses/geometry/computer-graphics-overview.pdf

5

Vo vedných odvetviach sa používa najmä vizualizácia, a to pri rôznych pokusoch

a simuláciách, ako napr. trojdimenzionálne vyobrazenie pomocou elektrónových

mikroskopov, simulácia magnetického poľa, simulácia dynamiky tekutín a mnohé iné. 3D

počítačová grafika sa využíva aj vo virtuálnej realite (VR), ktorá môže slúžiť hernému

priemyslu, virtuálnym prehliadkam historických pamiatok a exponátov v múzeách a tiež aj

v rôznych simulátoroch na vzdelávanie pilotov, astronautov, námorníkov, chirurgov a i.

1.3 Softvér pre 3D počítačovú grafiku

Softvér pre 3D počítačovú grafiku je program alebo súbor programov, používaných

na vytvorenie 3D počítačovo generovaných zobrazení („computer-generated imagery –

CGI) pomocou 3D modelovania a prevedenia alebo na vytvorenie 3D modelov pre

analytické, vedecké a priemyselné účely. Programov pre 3D počítačovú grafiku existuje

veľa a každý sa líši vybavením, funkciami, ovládaním, kvalitou výsledku a prípadne aj

špecializáciou. Programy existujú platené aj neplatené, pri platených sa ceny pohybujú od

desiatok až po tisícky eur. V tejto podkapitole by som rada predstavila niektoré z nich.

3D Studio Max (Autodesk) je najrozvinutejší a najčastejšie používaný program

v hernom priemysle. Je používaný niekoľkými profesionálnymi štúdiami. Má veľkú škálu

funkcií a vybavenia. Je to tiež aj najdrahší softvér.

Maya (Autodesk) je najčastejšie používaný program vo filmovom priemysle. Je

známy ako ťažko naučiteľný, ale je to aj najvýkonnejší 3D softvér. Niektoré štúdiá si pri

používaní Maya nahrádzajú niektoré časti vlastnými programovými modulmi kvôli ich

špecializácii, alebo aby zvýšili efektivitu svojej práce.

ZBrush (Pixologic) je program, ktorý sa namiesto toho, aby sa snažil naplniť všetky

potreby umelca, zameriava hlavne na modelovanie a textúrovanie extrémne detailných

3D umeleckých diel vo vysokej kvalite. „Ponúka možnosť pracovať s „digitálnou hlinou“,

ktorej tvarovaním vznikajú detailné skulptúry.“5

Blender (The Blender Foundation) má, ako vyššie spomenuté programy, funkcie

pre modelovanie, textúrovanie, animovanie, simulovanie fyziky a časticové efekty, avšak

s tým rozdielom, že je úplne zadarmo. Je vhodný pre začiatočníkov a je to aj program,

5 Fronczak, T.: 10 Types of 3D Graphics Software Worth Knowing, In: animationcareerreview.com. 2011. [cit. 2017-05-09]. Dostupné na internete: animationcareerreview.com/articles/10-types-3d-graphics-software-worth-knowing

6

ktorý sama používam, a preto by som ho rada predstavila bližšie v samostatnej

podkapitole.

Uvádzam porovnanie programov 3DS Max, Maya a Blender. Vyššie spomínaný

ZBrush do porovnania nezahŕňam, pretože sa špecializuje výlučne na modelovanie

a textúrovanie, a teda neponúka také všeobecné funkcie ako ostatné spomenuté

programy.

Program Modelovanie 3D maľovanie

Animovanie Prevedenie Tvorba videohry

Vizuálne 3D efekty

Blender áno áno áno áno áno áno

Maya áno áno áno áno nie áno

3DS Max áno áno áno áno nie nie

Tabuľka č. 1: Porovnanie programov pre 3D počítačovú grafiku – Blender, Maya, 3DS Max

1.4 Blender

Blender je, ako som už spomínala, softvér pre 3D počítačovú grafiku. Je to

bezplatný a open-source6 softvér, ktorý úplne podporuje celé „produkčné 3D potrubie“ –

proces tvorby animácie od začiatku po výsledok – modelovanie, rigging7, animovanie,

simulácia, prevedenie a kombinovanie („compositing“). Ponúka tiež možnosť „motion

capture“ (animovanie modelu podľa natočeného videa), „match moving“ (vkladanie 3D

modelov do natočeného videa), tvorbu videohier a strihanie a úpravu videí a ich zvuku. Je

vhodný ako učebný program pre začiatočníkov v 3D počítačovej grafike, avšak naučenie sa

základných funkcií a ovládania zaberie istý čas, pretože je veľmi komplexný a obsahuje

mnoho nástrojov a klávesových skratiek.

Blender založila korporácia The Blender Foundation. „The Blender Foundation je

dánska verejnoprospešná korporácia, založená pre podporu a výpomoc pri projektoch na

blender.org.“8 Je aktívne vyvíjaný stovkami ľudí po celom svete. Podieľajú sa na vytváraní

a rozširovaní úplne bezplatného 3D softvéru, zahŕňajúceho celé potrubie 3D tvorby. Ako

6 tzn. má otvorený zdrojový kód, ktorý je prístupný verejnosti a je možné ho študovať, meniť a zlepšovať 7 tzn. niečo ako vloženie a napojenie kostry, ktorá je animovaná, na vytvorený model8 Blender Foundation. In:blender.org. 2013. [cit. 2017-05-17]. Dostupné na internete: www.blender.org/foundation/

7

komunitou vedený projekt autorizuje verejnosť, aby robila malé či veľké zmeny v kóde,

ktoré potom vedú k novým funkciám a lepšej použiteľnosti. Týmto Blender získava

funkcie, ktoré vznikajú na základe praktických skúseností a potrieb ľudí, pracujúcich

v tomto obore.

Blender má komplexnú výbavu praktických nástrojov pre celý proces tvorby

animácií, ktorým sa však budem venovať v praktickej časti. Tam predstavím celý proces

tvorby podrobne a názorne.

1.5 Proces tvorby

Proces tvorby 3D počítačovej grafiky sa delí na 3 základné fázy:

3D modelovanie

rozloženie scény a animácia

prevedenie

„Fáza modelovania by sa dala popísať ako vytváranie a tvarovanie individuálnych

objektov, ktoré budú neskôr použité v scéne.“9 Proces modelovania môže tiež zahŕňať

úpravu povrchu objektu alebo vlastností materiálu, z ktorého je objekt vytvorený,

pridávanie textúr a iné procedúry. Tomuto všetkému sa budem venovať v praktickej časti

pri vytváraní modelu.

Usporiadanie scény predstavuje naaranžovanie virtuálnych objektov, svetiel

a kamier na scéne. Táto bude neskôr v procese použitá na vytvorenie nehybného obrázku

alebo animácie. Pri tomto procese je dôležité dbať na estetiku a vizuálnu kvalitu

výsledného obrazu, resp. animácie. Správnym osvetlením a rozložením objektov na scéne

sa u pozorovateľa obrazu/animácie dajú vyvolať určité pocity, ktoré sú žiadané pri

hodnotení daného obrazu/animácie a prispievajú k celkovej kvalite práce.

Prevedenie, resp. „rendering“, je konečný proces vytvárania konkrétneho 2D

obrázku alebo animácie z pripravenej scény. V reálnom živote sa to dá prirovnať

ku vytvoreniu fotografie alebo filmovaniu scény, ktorá je dopredu pripravená.

Prevedenie v interaktívnych médiách, ako sú napr. simulácie a počítačové hry, je

kalkulované a ukázané v reálnom čase rýchlosťou od 20 do 120 obrazov za sekundu.

9 Hees. H.: 3D Computer Graphics. In: library.aceondo.net. 2006. [cit. 2017-05-17]. Dost. n. int.: library.aceondo.net/ebooks/Fine_Arts/3D.Computer.Graphics.pdf

8

Animácie pre neinteraktívne médiá, ako napr. videá a filmy, sú prevádzané oveľa

pomalšie. Pomalšie prevedenie umožňuje dosiahnuť vyššiu kvalitu obrazu. Čas prevedenia

sa môže pohybovať od niekoľkých sekúnd po niekoľko hodín v závislosti od toho, ako

veľmi komplexná daná scéna je.

Animácie sú prevádzané do individuálnych obrazov, ktoré sú potom zobrazené

v sekvencii pri vysokých rýchlostiach, typicky 24, 25 alebo 30 obrazov za sekundu, aby sa

dosiahla ilúzia pohybu.

1.6 Vymedzenie základných pojmov v 3D počítačovej grafike

V tejto podkapitole by som rada vymedzila niekoľko základných pojmov, ktoré

budem používať v praktickej časti. Niektoré pojmy však budem používať v anglickom

jazyku, pretože v slovenskom jazyku som nenašla vhodný ekvivalent, ktorý by vystihoval

podstatu pojmu.

Proces tvorby 3D počítačovej grafiky najčastejšie prebieha v Euklidovskom

priestore, ktorého matematická reprezentácia je karteziánsky súradnicový systém. Každý

bod v tomto systéme je charakterizovaný 3 súradnicami – X, Y a Z, ktoré definujú pozíciu

bodu v závislosti od hlavných osí x, y a z. Bod [0;0;0] reprezentuje globálny stred 3D sveta.

Normálový vektor je vektor, ktorý je kolmý na určitý matematický objekt, ako

napr. priamku alebo rovinu. V 3D počítačovej grafike môže byť použitý na definovanie

smeru orientácie polygónu (plochy).

Vertex, alebo aj vrchol, je trojdimenzionálny bod. Je najmenším komponentom

v 3D objekte. Napriek tomu, že je to len bod, existuje preň normálový vektor, ktorý sa dá

určiť v závislosti od normálového vektoru plochy, ktorej je daný vertex súčasťou, resp.

ktorú daný vertex určuje. Normálový vektor vertexu bude vždy rovnaký ako normálový

vektor danej plochy.

Hrana (angl. edge) je rovná čiara, resp. úsečka, ktorá spája dva body (vertexy) na

3D modeli. Pri organických modeloch, napr. ľudí a zvierat, je výhodné vytvárať pomocou

hrán tzv. „hranové slučky“ (angl. edge loops). „Hranová slučka“ by sa dala opísať ako

spojenie n-hrán, kde n je počet hrán a kde ich spojením vznikne uzavretá krivka na

9

povrchu modelu. Sú esenciálne pri animovaní tým, že umožňujú správnu deformáciu

povrchu, napr. okolo očí a úst.

Polygón je mnohouholník, z ktorého je vytvorená každá štruktúra objektu v 3D

priestore. Je definovaný súradnicami vertexov. Polygóny sa môžu odlišovať počtom

vertexov, avšak najčastejšie sú trojuholníky (angl. tris) a štvoruholníky (angl. quads) pre

ich praktickosť. Čím viac má objekt polygónov, tým je objekt presnejší a kvalita detailov je

vyššia. S rastom počtu polygónov však rastú aj nároky na výkon grafickej karty. Polygóny

majú zväčša iba jednu stranu, a teda aj jeden normálový vektor, ktorý určuje smer

orientácie plochy polygónu.

Primitive (primitívny objekt) je „základný geometrický útvar používaný pri

modelovaní.“10 Bežné primitívne objekty sú napr. kocka, kváder, guľa, valec, kužeľ, torus.

Niektoré modelovacie programy ich majú vopred preddefinované a poskytujú možnosť

priamo vložiť tieto hotové objekty do scény bez potreby ich modelovania.

Geometria objektu znamená priestorové rozloženie bodov a polygónov objektu.

Matematicky vyjadruje vlastnosti, rozmery a vzťahy bodov, čiar, uhlov, povrchov.

Pri modelovaní sa používajú 2 druhy pohľadu, resp. videnia – perspektívne a

ortogonálne. Perspektívne videnie vytvára dojem trojdimenzionálnej formy a vzdialenosti

na dvojdimenzionálnom povrchu. Perspektíva poskytuje 3D prehľad scény, ktorý

naznačuje hĺbku. Vytvára dojem, že objekty sa zbiehajú do určitého úbežného bodu a že

objekty bližšie ku kamere sa zdajú byť väčšie ako tie umiestnené ďalej. Ortogonálne

videnie je opak perspektívy. Je to videnie, ktoré ukazuje projekciu objektu paralelnú

k jednej z hlavných osí – x, y, z. Eliminuje efekt vzdialenosti od kamery, čo napomáha pri

lokalizácii jednotlivých bodov v 3D priestore, najmä pri zložitých modeloch.

Pixel je najmenší element počítačového zobrazenia. Názov je odvodený od

slovného spojenia „PIcture ELement“. „Počítačový obraz je zvyčajne reprezentovaný ako

diskrétna mriežka pixelov. Ich počet určuje rozlíšenie obrazu.“11 Každý pixel obrazu je

charakterizovaný číslami, ktoré reprezentujú jeho intenzitu. Pre čiernobiely obraz je to

jedno celé číslo medzi 0 (čierna) a 255 (biela). Pre farebný obraz (pri 8-bitovej farebnej

10 NewTek: Glossary of 3D Terms. In: www.timaxmedia.com. 2006. [cit. 2017-05-17]. Dostupné na internete: http://www.timaxmedia.com/html/help/Glossary_of_3D_Terms_.htm11 Durand, F.: A Short Introduction to Computer Graphics. In: people.csail.mit.edu. 2001. [cit. 2017-05-11]. Dostupné na internete: people.csail.mit.edu/fredo/Depiction/1_Introduction/reviewGraphics.pdf

10

hĺbke) je charakterizovaný trojicou čísel, z ktorých každé reprezentuje intenzitu z jednej

z troch farieb – červená (255, 0, 0), zelená (0, 255, 0) a modrá (0, 0, 255).

1.7 3D model

„3D model je 3D polygonálna reprezentácia objektu, obyčajne zobrazená pomocou

počítača alebo iného zariadenia.“12 Tento objekt môže byť z reálneho sveta alebo fiktívny

a môže mať variabilnú veľkosť. Všetko, čo existuje vo fyzickom svete, môže byť stvárnené

aj ako 3D model.

3D modely sú najčastejšie vytvárané pomocou softvérov pre 3D počítačovú

grafiku, ktoré umožňujú žiadaný objekt vymodelovať priamo v 3D priestore. Avšak modely

sa dajú vytvárať aj pomocou algoritmov (procedurálne modelovanie) alebo skenovaním.

Skoro všetky 3D modely sa dajú rozdeliť do dvoch kategórií - tuhé

a obalové/okrajové. Tuhé modely definujú objem objektu, ktorý reprezentujú. Sú zväčša

používané pre inžinierstvo a medicínske simulácie. Obalové/okrajové modely

reprezentujú povrch, teda obal objektu, nie jeho objem. Skoro všetky modely používané

vo filmoch a hrách sú tohto typu. Tuhé aj obalové modelovanie dokáže vytvoriť funkčne

identické objekty. Hlavné rozdiely medzi nimi sú najmä odlišnosti v procese ich tvorby

a úpravy a konvencie v používaní v rôznych odvetviach. Aby mali obalové modely zmysel

ako reálne objekty, musia byť jednoliate (bez dier v obale). Najčastejšou reprezentáciou

toho sú polygonálne siete (angl. mesh).

1.8 Formáty 3D grafických súborov

3D počítačová grafika sa využíva v mnohých rôznych odvetviach a pomocou

rôznych softvérov. To zapríčiňuje, že existuje aj mnoho formátov 3D grafických súborov,

niektoré charakteristické pre istý softvér, niektoré zas pre odvetvie, v ktorom sa 3D

grafika používa. Tu uvediem iba niekoľko z nich.

3DS je formát používaný programom 3ds Max od spoločnosti Autodesk. Stal sa

z neho priemyselný štandard pre prenos modelov medzi 3D programami alebo na 12 Hees. H.: 3D Computer Graphics. In: library.aceondo.net. 2006. [cit. 2017-05-17]. Dost. n. int.: library.aceondo.net/ebooks/Fine_Arts/3D.Computer.Graphics.pdf

11

uchovávanie modelov pre 3D katalógy. Napriek jeho rozšírenosti má niekoľko nevýhod,

ako napr. podmienka, že objekt musí byť vytvorený z trojuholníkových polygónov

a obmedzený počet vertexov a polygónov na jeden objekt. Má príponu .3ds .

OBJ je formát definujúci geometriu vyvinutý spoločnosťou Wavefront

Technologies. Používajú ho viaceré 3D programy. Tento formát reprezentuje iba samotnú

geometriu objektu – pozíciu každého vertexu, normálové vektory vertexov, plochy

definujúce každý polygón ako množinu vertexov a textúrové vertexy. Má príponu .obj .

COLLADA (COLLAborative Design Activity) je „odovzdávací formát pre interaktívne

3D aplikácie.“13 Definuje otvorenú XML schému pre výmenu digitálnych aktív medzi

rôznymi grafickými softvérmi, ktoré inak môžu ukladať svoje aktíva v nekompatibilných

formátoch. Dokumenty COLLADA sú XML súbory. Má príponu .dae .

FBX (FilmBoX) formát poskytuje možnosť dotykovej prevádzkyschopnosti medzi

aplikáciami na tvorbu digitálneho obsahu. Umožňuje uložiť údaje o modeli, jeho pohybe,

a tiež aj zvuk a video. Bol vyvinutý spoločnosťou Kaydara a odkúpený spoločnosťou

Autodesk. Má príponu .fbx .

PLY (Polygon File Format, Stanford Triangle Format) je formát počítačových

súborov, ktorý bol navrhnutý, aby uchovával trojdimenzionálne údaje z 3D skenerov.

Podporuje relatívne jednoduchý popis objektu vo forme zoznamu plochých polygónov.

Môže uložiť rôzne vlastnosti, napr. farba a priehľadnosť, normálové vektory povrchu,

súradnice textúr a pod. Umožňuje definovať vlastnosti zvlášť pre prednú stranu a zvlášť

pre zadnú stranu polygónu. Má príponu .ply .

AutoCAD DXF (Drawing Exchange Format) je formát CAD súboru vyvinutý

spoločnosťou Autodesk, aby umožňoval dotykovú prevádzkyschopnosť údajov medzi

AutoCAD a inými programami. Postupom času bol však v mnohých programoch

nahradený formátom DWG. Má príponu .dxf .

DWG (drawing) je binárny formát požívaný na ukladanie dvoj-

a trojdimenzionálnych dizajnov. Je typický pre viacero CAD softvérov. Má príponu .dwg.

13 3D file format. In: edutechwiki.unige.ch. 2017. [cit. 2017-05-17]. Dostup. n. int.: edutechwiki.unige.ch/3D_file_format

12

2 Praktická časť

2.1 Proces tvorby a 3D potrubie

Pre svoju prácu som si ako praktickú časť zvolila vytvorenie 3D modelu vlka a jeho

animáciu. Tento proces tvorby (alebo aj 3D potrubie) sa skladá z týchto častí –

predstavovanie, modelovanie, textúrovanie a tónovanie, časticové systémy, rigging, shape

keys a animácia, osvetlenie scény, prevedenie. Postupne rozoberiem každú z nich, pričom

ich názorne vysvetlím na príkladoch. Pri práci budem používať program Blender.

Fáza predstavovanie nastáva ešte pred prácou v 3D softvéri. Umelec by mal vedieť,

čo a ako presne chce robiť. Pre mňa táto fáza predstavovala zbieranie materiálu

(obrázkov) a štúdiu anatómie vlkov, ich stavbu tela, farby srsti, správanie, mimiku

a pohyb. Po dostatočnom skúmaní som mohla začať na modeli pracovať.

2.1.1 Modelovanie

Ešte predtým, ako začnem vytvárať model, si do pozadia vložím referenčné

obrázky. Tie napomáhajú dosiahnuť presnosť a realistickosť modelu. Do pozadia si vložím

jeden s pohľadom na vlka spredu a tiež jeden s pohľadom na vlka zboku. Nastavím si, aby

sa mi zobrazovali len pri daných pohľadoch (obrázok spredu sa mi bude zobrazovať iba pri

pohľade spredu a obrázok zboku iba pri pohľade zboku). Tieto obrázky sú viditeľné iba pri

ortogonálnom videní.

Modelovať môžem začať rôzne, podľa toho, čo modelujem. Môžem využiť niektoré

zo základných preddefinovaných telies (primitive), alebo začať iba s jedným polygónom.

Ja som sa rozhodla začať s jedným polygónom, ktorý má 4 vrcholy. Je to síce časovo

náročnejšie, no ponúka mi to väčšiu kontrolu počas modelovania.

Použijem tiež zrkadlový modifikátor. Je to funkcia Blendra, ktorá zrkadlí model

podľa jednej z hlavných osí. Pre mňa je teraz najvýhodnejšie zrkadliť podľa osi x.

Zrkadlenie mi zaručí, že model bude na oboch stranách rovnaký iba s tým, že upravujem

len jednu jeho stranu. Tiež som použila modifikátor pre povrchové delenie, ktorý simuluje

znásobenie počtu polygónov na povrchu objektu. Tým umožňuje detailnejšie úpravy

objektu.

13

Možnosťou pri modelovaní je aj rozdelenie si modelovacieho okna na dve. Tým

môžem model zároveň upravovať spredu aj zboku. V oboch oknách si videnie prepnem na

ortogonálne.

Podľa obrázka v pohľade spredu začnem postupne zo základného polygónu, ktorý

som si umiestnila medzi nos a hornú peru vlka na obrázku, vysúvať ďalšie polygóny. Pri ich

vysúvaní ich tvarujem tak, aby vytvorili okolo úst slučku. Z tej vysuniem ďalšiu a ešte

ďalšiu. Následne pokryjem týmto spôsobom nos a chrbát nosu. Odtiaľ môžem vytvoriť

slučky, podobné ako sú okolo úst, okolo očí. Pri očiach treba dbať na to, že model bude

animovaný a bude žmurkať, preto slučiek musí byť dostatok, aby vytvorili viečka a časť

vnútra očnej jamky.

Následne vyplním prázdne miesta medzi okom a ústami. Keďže som zatiaľ

vytvárala len 2D model v pohľade spredu, prejdem do videnia zboku a začnem podľa

referenčného obrázka postupne presúvať body po osi y na požadovanú pozíciu. Týmto sa

z 2D stane 3D model.

Rovnakým postupom – vysúvaním polygónov – pokračujem na celej hlave a potom

aj na tele. Posúvaním jednotlivých plôch, hrán a vertexov môžem upraviť a vylepšiť môj

model. Takýto typ modelovania sa nazýva polygonálne modelovanie. Takýmto spôsobom

som vytvorila telo vlka. Zuby, oči a pazúry som vytvorila ako samostatné objekty

a umiestnila ich na patričnú pozíciu. Potom som im priradila ako rodičovský objekt model

tela vlka, čo znamená, že budú kopírovať jeho pozíciu a rotáciu.

Obrázok č. 1: Model vlka

2.1.2 Textúrovanie a tónovanie

14

„Textúrovanie sa dá prirovnať ku maľovaniu modelu reálnou farbou.“14 Je to

nanášanie farby určitou formou na povrch modelu. Tomuto procesu predchádza UV

mapovanie, ktoré pripraví model na nanášanie textúr, resp. umožní použitie obrázkov ako

textúr. Pri UV mapovaní sa vytvorí sieť povrchu objektu.

Pri tónovaní sa objektu priradí materiál, z ktorého je daný objekt vyrobený. Tiež sa

tým určí, ako sa má správať svetlo, ktoré dopadá na povrch objektu.

Tónovanie som využila pri zuboch, pazúroch a vonkajšej vrstve očí. Zubom som

priradila lesklý materiál v kombinácii s difúznym, pričom difúzny materiál (v Blendri) dáva

objektu farbu. Pazúrom som priradila tiež lesklý aj difúzny materiál, ale pridala som k nim

aj podpovrchový rozptyl, angl. subsurface scattering, ktorý umožňuje svetlu prechádzať

do objektu a v ňom sa rozptyľovať, príp. prechádzať cez objekt. To je napríklad, keď si

dáme ruku proti zdroju svetla a cez časti ruky, kde je koža tenká, nám svetlo presvitá a javí

sa červenkasté. Pre vonkajšiu vrstvu očí som priradila materiál s vlastnosťami skla.

Textúrovanie som použila na ostávajúcu časť modelu, teda na telo vlka. Použila

som UV mapovanie a vytvorila som si sieť povrchu objektu. Každá textúra je v základe 2D

obrázok premietnutý na 3D model. Najprv si teda musím vytvoriť základný PNG obrázok,

na ktorý budem nanášať farby. Na ten sa mi premietne UV mapa objektu. Pomocou nej

môžem farby nanášať aj na 3D model, aj na 2D obrázok. Takto postupne namaľujem

celého vlka.

Pri vnútornej časti očí som tiež

využila textúrovanie, ale tam som použila

obrázok oka špeciálne vytvorený pre tieto

účely a pomocou UV mapovania som ho

premietla na vnútornú časť očí.

2.1.3 Časticové systémy

14 FlippedNormals: Introduction to 3D. In: flippednormals.com. 2017. [cit. 2017-05-17]. Dostupné na internete: https://flippednormals.com/introduction-3d/

15

Obrázok č. 2: Textúry vlka

Časticový systém vytvára na povrchu objektu veľké množstvo malých častíc. Každá

častica môže byť svetelný bod alebo objekt (mesh). Existuje aj vlasový časticový systém,

pomocou ktorého sa dajú vytvárať napr. vlasy, srsť, tráva, bodliaky. Pomocou takéhoto

systému vytvorím pre svoj model srsť.

Pri vlasovom časticovom systéme môže mať každá častica – vlákno tzv. „deti“

(angl. children). Tieto deti sú častice nachádzajúce sa okolo rodičovského vlákna

a kopírujúce jeho smer. Zvyšujú celkovú hustotu časticového systému, pričom nemajú

také nároky na výkon ako rodičovské častice.

Vytvorím 3 časticové systémy – telo, papuľa a fúzy. Časticový systém pre telo bude

mať 8000 častíc, z toho každá bude mať 200 detí. Napriek tomu, že časticový systém

preberá farbu objektu, z ktorého je emitovaný, vytvorím pre telo a papuľu špeciálny

materiál. Chlpy budú pri korienkoch tmavšie, uprostred nezmenené a na koncoch bledšie.

Tiež im dodám lesk a priehľadnosť, ktorá bude od korienkov ku koncom rásť. Týmto

vytvorím realistický dojem srsti. Časticový systém pre

papuľu bude mať 400 častíc, z toho každá bude mať

200 detí. Materiál mu priradím rovnaký, aký je

priradený pre telo. Pre fúzy vytvorím materiál čiernej

farby s leskom.

Na modeli je po vytvorení časticových

systémov 1 680 014 častíc (rodičovské č. dokopy

s deťmi). Pomocou nástrojov na úpravu častíc ich

„sčešem“ tak, aby vyzerali realisticky - ako srsť vlka.

Taktiež nastavím ich dĺžku, ktorú môžem týmito

nástrojmi podľa potreby meniť.

2.1.4 Rigging

Rigging je proces, pri ktorom je vnútri modelu vybudovaná kostra (angl. armature),

ktorá je následne napojená na model a umožňuje mu pohyb. Pomocou tejto kostry sa

zadefinuje, akým spôsobom sa jednotlivé kosti budú pohybovať. Kostra sa skladá

z jednotlivých kostí. Pre dosiahnutie realistického dojmu sú tieto kosti umiestnené ako

16

Obrázok č. 3: Finálna verzia srsti (časticových systémov)

reálne kosti. Môžu byť spojené priamo alebo byť priradené ako deti k rodičovským

kostiam, napr. pre kosti nohy je rodičovská kosť panva.

Kostru pre vlka vybudujem tak, aby napodobovala reálnu kostru vlka. Jej stavbu je

možné vidieť na obrázku č. 4. Po dokončení kostry ju priradím ako rodičovský objekt

k modelu vlka. Týmto dosiahnem, že model sa bude hýbať podľa pohybu jednotlivých

kostí. Potom nasleduje „weight

painting“. „S touto technikou doslova

maľujete veľkosť vplyvu kostí priamo na

povrch objektu (meshu).“15 Tým kostiam

určím, akú časť modelu budú

ovplyvňovať a ňou hýbať. Keď už mám

kostru vybudovanú a model pohyblivý,

môžem sa posunúť na ďalší krok – shape

keys a animácia.

2.1.5 Shape keys a animácia

Shape keys by sa dali preložiť aj ako „tvarovacie prepínače“. Sú to prepínače, ktoré

ukladajú údaje o určitom vytvorenom tvare objektu a umožňujú prepínať medzi týmto

a pôvodným tvarom. S ich využitím je možné priamo animovať tvar objektu.

Ja som pri svojej práci využila shape keys pre rôzne grimasy a mimiku vlka.

Presnejšie som vytvorila nahnevanú grimasu, grimasu v pokoji, šťastnú grimasu

a žmurkanie. Tieto shape keys sa neskôr dajú využiť pri animácii, kedy pridávajú modelu

realistickosť a živosť.

Teraz môžem vlka animovať. Vytvorím preňho jednu cyklickú animáciu – státie

v pokoji a jednu normálnu animáciu – prechod z pokojovej polohy do nahnevanej. Pri

animácii sa používajú tzv. kľúčové obrazy, alebo keyframes. Tie zadávajú, v akej pozícii

majú byť jednotlivé kosti v danom čase a obraze. Cyklická animácia znamená, že

keyframes sa po určitom počte obrazov opakujú. Rýchlosť, ktorú som si pre svoje

animácie zvolila, je 24 obrazov za sekundu (24 fps). Proces animovania vysvetlím iba na

prvej animácii – státie v pokoji. 15 Flavell, L.: Beginning Blender. New York: Springer Science+Business Media, LLC., 2010. str. 178.

17

Obrázok č. 4: Kostra (armature)

Animácia vlka v pokoji bude mať 32 obrazov. Pomocou kostí hrudi a pliec

zanimujem vlka, aby dýchal. To dosiahnem tak, že na prvý a posledný obraz vložím

keyframe s pôvodnou polohou kostí. Následne uprostred (16. obraz) zmením polohu

niektorých kostí a znovu pre ne vložím keyframe. To spôsobí, že od prvého obrazu po

prostredný sa bude poloha kostí, a teda aj modelu, meniť z pôvodnej na zmenenú. Od

prostredného obrazu sa bude následne poloha kostí meniť zo zmenenej na pôvodnú.

Potom sa tento cyklus môže opakovať. Do tejto animácie vložím aj efekt žmurkania. Pre

shape key žmurkania pridám keyframe na 17. obraz. Potom určím, kedy začne žmurkať,

čiže priradím „nulovú hodnotu“ tohto shape key pre 15. a 19. obraz.

Pomocou kostry modelu sa nemusí výhradne animovať. Vytvorím si aj niekoľko

statických obrázkov, kde umiestnim

vlka do určitej pozície a potom

nechám vytvoriť žiadaný obrázok. Na

týchto statických obrázkoch

vysvetlím dôležitosť správneho

osvetlenia scény.

2.1.6 Osvetlenie scény

Pri fáze osvetlenia scény sa určí nálada výsledného obrázku. Táto fáza je veľmi

dôležitá pre dosiahnutie žiadaného efektu na pozorovateľa. Rôzne druhy osvetlenia sa

používajú pre vyvolanie rôznych nálad a pocitov. Osvetlenie sa môže rôzniť počtom

a intenzitou svetelných zdrojov, ich farbou a umiestnením.

V 3D grafike môžu byť 2 druhy zdrojov svetla – svet a lampa. Svet je prostredie,

v ktorom je objekt vyvíjaný, a tvorí základné pozadie pre všetky obrázky a animácie

(pokiaľ nie je zakrytý určitými objektmi). Je možné nastaviť preň materiál, textúru

a intenzitu svetla. Lampa je zdroj svetla, ktorý sa do scény môže vložiť v ľubovoľnom

počte. Lámp môže byť viac typov, v Blendri sú to – bodová, slnko, bodový reflektor,

polguľovitá, plošná. Každý typ sa využíva v závislosti od scény a žiadaného dojmu.

18

Obrázok č. 5: Shape keys (napravo – bez použitia, naľavo – s použitím)

Pre ukážku dôležitosti správneho osvetlenia scény použijem 2 statické obrázky,

ktoré som si vytvorila už vopred. Je na nich zobrazená rovnaká scéna, líšia sa však

osvetlením.

Na prvom obrázku (obr. č. 6) som použila bledé pozadie, čiže z okolia modelu naň

dopadalo viac svetla bledej farby. Tiež som umiestnila jednu plošnú lampu nad model

a jednu bodovú lampu za model a aj medzi kameru a model. Výsledný obrázok je vcelku

nezaujímavý, sivý a nevystihuje emóciu, ktorú zobrazuje model.

Na druhom obrázku (obr. č. 7) som použila čierne pozadie. Jednu jemne svietiacu

plošnú lampu som umiestnila nad model, ďalšiu medzi model a kameru. Potom som

umiestnila jednu silnú bodovú na ľavú stranu od modelu a ďalšiu, slabšiu, som umiestnila

pred oko. Výsledný obrázok je podľa môjho názoru oveľa zaujímavejší, dramatickejší

a lepšie vystihuje zobrazovanú emóciu.

Po správnom osvetlení scény už môžem prejsť k záverečnému kroku – prevedenie

do 2D.

2.1.7 Prevedenie (rendering)

V tejto fáze sa celá 3D scéna prepočíta do 2D obrázku alebo animácie. Prevediem

takto niekoľko statických obrázkov a animáciu. Princíp prevedenia vysvetlím na statickom

obrázku, keďže animácia je v podstate sled statických obrázkov.

Pred tým, ako obrázok prevediem, nastavím si určité vlastnosti prevodu. Tie sú

napr. rozlíšenie obrázku, formát obrázku, sampling. Sampling (vzorkovanie) je proces,

19

Obrázok č. 6 a 7: Porovnanie vplyvu osvetlenia na celkový dojem scény

ktorý zobrazí spojitú funkciu do diskrétnej, čiže spojitý obraz zobrazí do diskrétnych bodov

– pixelov. Platí úmera, že čím vyšší je zadaný počet vzoriek (samples), tým kvalitnejší je

obraz. Pre svoj obrázok som použila rozlíšenie 1920x1080 px. Formát som nastavila PNG

a počet vzoriek na 750.

Čas prevedenia závisí od daných nastavení a od výkonnosti počítača. Tento čas

najviac zvyšuje použitie materiálov, cez ktoré svetlo prechádza, alebo sa od nich odráža.

Pri mojom obrázku bol tento čas približne 2 a pol hodiny.

Pokiaľ ide o animáciu, tak čas jej prevedenia závisí aj od počtu obrazov. Každý

obraz v animácii je prevedený ako samostatný obrázok. Tie sú následne spojené do sledu

obrazov, ktoré sú prehrané vo veľkej rýchlosti za sebou. Z technických a časových

dôvodov som pre svoje animácie vlka použila nižšie, menej kvalitné nastavenia –

rozlíšenie 720x486 px a počet vzoriek 400. Animácia vlka v pokoji mala 32 obrazov a pri

rýchlosti 24 fps mala 1,25 sekundy. Čas jej prevodu bol približne 4 hodiny. Animácia

zmeny polohy mala 36 obrazov a mala 1,5 sekundy. Čas jej prevodu bol približne 6 hodín.

Toto je záverečný krok procesu.

2.2 Zhrnutie praktickej časti práce

Praktická časť mojej práce bolo vytvoriť funkčný, plne animovaný model vlka.

Tento proces som od začiatku po koniec vysvetlila, názorne ukázala a podložila obrázkami.

Svoje výsledné obrázky a animáciu by som mohla ešte ďalej upravovať, to už však

nespadá do 3D počítačovej grafiky. Vytvorený model môžem ďalej využívať na vytváranie

rôznych obrázkov a animácií.

20

Záver

V mojej práci som sa zaoberala témou 3D počítačová grafika. Táto oblasť

počítačovej grafiky je v súčasnej dobe veľmi rozšírená, stretávame sa s ňou v bežnom

živote stále častejšie, či už vo filmoch a počítačových hrách, alebo reklamách v televízii

a časopisoch. Nachádza tiež uplatnenie v rôznych vedeckých oblastiach, ako sú napr.

medicína alebo inžinierstvo.

V teoretickej časti mojej práce som priblížila pojem 3D počítačová grafika a jej

využitie. Taktiež som predstavila viaceré softvéry pre 3D grafiku a formáty súborov,

s ktorými pracujú. Stručne som charakterizovala proces tvorby 3D grafiky a určité

najčastejšie používané pojmy.

Výsledkom praktickej časti mojej práce je animovaný model vlka. Názorne som

pritom predstavila proces vzniku animovanej scény na konkrétnych príkladoch a pomocou

obrázkov zachytených v procese tvorby. Tento model môžem využiť ďalej na vytváranie

rôznych, jednoduchých aj zložitých animácií.

Cieľom tejto práce bolo predstaviť a priblížiť tému 3D počítačovej grafiky mladým

ľuďom a ukázať im jej možnosti a rôzne využitie. Taktiež som sa pri vypracovávaní tejto

práce dozvedela mnoho informácií, ktoré môžem ďalej využiť a rozvíjať. Verím, že moja

práca napomôže ľuďom, ktorí túto tému už poznajú, a že zaujme a obohatí tých, pre

ktorých je táto téma nová a neznáma.

21

Resumé

Moja práca sa zaoberá témou 3D počítačová grafika. Je rozdelená na 2 časti.

V prvej - teoretickej - časti som stručne predstavila pojem 3D počítačová grafika a jej

využitie v bežnom živote a vede. Ďalej som popísala viaceré softvéry na vývoj 3D grafiky

a bližšie som charakterizovala jeden z nich - Blender. Následne som vysvetlila niekoľko

základných pojmov bežne používaných v tejto oblasti. Tiež som uviedla aj viacero

formátov súborov, s ktorými 3D grafika pracuje. Stručne som predstavila proces tvorby

a bližšie charakterizovala pojem 3D model. V druhej - praktickej - časti som predstavila

celý proces tvorby animovanej scény od začiatku po koniec. Tento proces som názorne

vysvetlila na procese tvorby vlastného modelu a podložila obrázkami, zachytenými počas

tohto procesu. Výsledkom tejto časti bol animovaný model vlka.

Summary

My work is about the topic of 3D computer graphics. It is divided into 2 parts. In

the first - theoretical - one I briefly introduced the term 3D computer graphics and also its

use in common life and science. Next I described multiple softwares for 3D graphics and

characterized one of them - Blender - more closely. After that I explained some basic

terms, which are normally used in this area. I also adduced multiple file formats that 3D

computer graphics works with. I briefly introduced the creation process and defined the

term 3D model more closely. In the second - practical - part I described the whole process

of creating an animated scene from the beginning to the end. I visually demonstrated this

process on the creation process of my own model and to it I appended images, captured

during this process. The result of this part of my work is an animated model of a wolf.

22

Zoznam použitej literatúry

Knihy:

FLAVELL, L.: Beginning Blender. New York: Springer Science+Business Media, LLC., 2010.

ISBN 978-1-4302-3127-1

Internet:

Application of Computer Graphics. In: www.edvec.ed.ac.uk [online]. 2002. [cit. 2017-05-

08]. Dostupné na internete: www.inf.ed.ac.uk/teaching/courses/cl1/slides/14_out.pdf

10 Types of 3D Graphics Software Worth Knowing, In:

http://www.animationcareerreview.com. 2011. [cit. 2017-05-09]. Dostupné na internete:

http://www.animationcareerreview.com/articles/10-types-3d-graphics-software-worth-

knowing

Blender Foundation. In: www.blender.org. 2013. [cit. 2017-05-17]. Dostupné na

internete: https://www.blender.org/foundation/

Glossary of 3D Terms. In: http://www.timaxmedia.com. 2006. [cit. 2017-05-17]. Dostupné

na internete: http://www.timaxmedia.com/html/help/Glossary_of_3D_Terms_.htm

Introduction to 3D. In: flippednormals.com. 2017. [cit. 2017-05-17]. Dostupné na

internete: https://flippednormals.com/introduction-3d/

A Short Introduction to Computer Graphics. In: http://people.csail.mit.edu. 2001. [cit.

2017-05-11]. Dostupné na internete:

people.csail.mit.edu/fredo/Depiction/1_Introduction/reviewGraphics.pdf

3D file format. In: edutechwiki.unige.ch. 2017. [cit. 2017-05-17]. Dostupné na internete:

edutechwiki.unige.ch/en/3D_file_format

3D Computer Graphics. In: library.aceondo.net. 2006. [cit. 2017-05-17]. Dostupné na

internete: library.aceondo.net/ebooks/Fine_Arts/3D.Computer.Graphics.pdf

23