Arvutigraafika. Sissejuhatus. Konstantin Tretjakov kt@ut.ee 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Korraldus Iga nädal üks loeng ja üks praktikum Praktikumis tehtud ülesandeid tuleb saata e-mailitsi praktikumijuhendajale. Selle eest saab punkte. Eriti tublid saavad boonuspunkte. Lisaks tuleb programmeerida projekti. Lõpus tuleb eksam 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Korraldus Projekt Projekti saab teha 2-3 inimese rühmades. Projekt peab olema seotud 3D graafikaga. Soovitatud OpenGL. Lisaks projektile tuleb vormistada lühikest raportit ning teha sellest väikest demot kursuse lõpus. Esimene tähtaeg: 19. september 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Korraldus Hindamine: Praktikumid: 40% Projekt: 30% Eksam: 30% Küsimustele vastavad: Konstantin Tretjakov (kt@ut.ee) Dan Bogdanov (db@ut.ee) Mark Fishel (fishel@ut.ee) 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Korraldus Kursuse veebileht http://ats.cs.ut.ee/courses/2005/graphics Ligipääs piraaditud raamatutele: user: graphics, password: books 05. sept. 2005 Arvutigraafika - Sissejuhatus
Mida see kursus annab teile? Natuke lisaharidust ja loodetavasti natuke lõbu ka. Täpsemalt aga siis: Wisdom: +10 Vitality: +5 Stamina: +5 +4 experience points +1 magic artifact Health: -10 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Korraldus Küsimused? 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Kava Milleks arvutigraafika? Arvutigraafika põhiteemad Graafikasüsteem, CPU & GPU Graphics Pipeline 05. sept. 2005 Arvutigraafika - Sissejuhatus
Milleks arvutigraafika? 1. Meelelahutus 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus Doom III
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus http://www.jazmedia.com.au 05. sept. 2005 Arvutigraafika - Sissejuhatus
Milleks arvutigraafika? 2. Kunst 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus http://www.areaticino.com/3d.asp 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus © Michał Kriukow
Milleks arvutigraafika? 3. Kasutajaliidesed 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus http://www.emezeta.com/articulos/3d-desktop 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus SynFace Project
Milleks arvutigraafika? 4. Maa- ja loodusteadused, meditsiin (MRI, CAT), jms 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus http://water.usgs.gov/watuse/graphics/wuto.fact.3d.gif 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus http://www-vis.lbl.gov/Events/SC04/Incite1/ 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus http://www.k2.dion.ne.jp/~t-kmr/LOVELOG_IMG/20041129fd1f6c1e.jpg 05. sept. 2005 Arvutigraafika - Sissejuhatus
Milleks arvutigraafika? 5. CAD 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Domus.Cad 13 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus http://www.leon-arts.tk/ 05. sept. 2005 Arvutigraafika - Sissejuhatus
Milleks arvutigraafika? 6. Simulaatorid 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus http://www.weaverling.org/atc/sim/ 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus © Lance Cpl. Natasha S. Green 05. sept. 2005 Arvutigraafika - Sissejuhatus
Milleks arvutigraafika? Meelelahutus Kunst Kasutajaliidesed Teadus Disain Simulaatorid 05. sept. 2005 Arvutigraafika - Sissejuhatus
Milleks arvutigraafika? Kokkuvõttes: A picture is worth a thousand words Pildina suudab inimene võtma vastu oluliselt rohkem informatsiooni kui igal teisel viisil. Informatsiooni visuaalne esitus ühes või teises kontekstis ongi arvutigraafika põhiülesanne 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Märkus: Pilditöötlus Arvutigraafikaga käib alati koos üks teine ala: Pilditöötlus (Image Processing). Kui graafika tegeleb infost pildi saamisega, siis pilditöötluse ülesanne on täpselt vastupidine: pildist (või piltidest) info saamine. Pilditöötlust me siin eriti ei puuduta. 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika sünteesib pilte Piltide sünteesimisel on kaks põhilist suunda: “Reaalsuse võltsimine” – kuidas sünteesida pilte mis on reaalsusest täiesti eristamatud? “Uue reaalsuse loomine” – kuidas sünteesida pilte et nad rahuldaks mingeid funktsionaalseid voi esteetilisi kriteeriume 05. sept. 2005 Arvutigraafika - Sissejuhatus
Non-photorealistic rendering Mitte-realistlikult võib sünteesida erinevatel põhjustel: Et näeks kunsti moodi (impressionism jne) Et näeks multika moodi (South Park, jne) Et näeks skeemi moodi 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus © 2000-2001 Nick Halper
Arvutigraafika - Sissejuhatus 05. sept. 2005 http://www.cs.technion.ac.il/~irit/irit_images.html Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus © ToonNation
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika põhiteemad Modelleerimine Kuidas esitada objekte? Kuidas neid esitusi konstrueerida? Näitamine (Rendering) Kuidas objekte ekraanil ilusasti näidata? Animatsioon Kuidas objekte liikuma panna? 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Modelleerimine Kuidas esitada objekte? Geomeetria – objektide kuju Fotomeetria – värvus, valgus, peegeldused, refraktsioon. Kuidas neid esitusi konstrueerida? Kirjeldada käsitsi Luua interaktiivselt Skaneerida sisse Programmeerida (las kasvab ise) 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Modelleerimine Kuidas esitada objekte? Geomeetria – objektide kuju Fotomeetria – värvus, valgus, peegeldused, refraktsioon. Kuidas neid esitusi konstrueerida? Kirjeldada käsitsi Luua interaktiivselt Skaneerida sisse Programmeerida (las kasvab ise) 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Cheap 3D scanner nearing the desktop 10:01 06 March 2004 Exclusive from New Scientist Print Edition Will Knight Ever fancied taking your favourite possessions with you into the virtual world? Spiral Scratch, a start-up company in Liverpool, UK, has come up with a cheap device that generates three-dimensional computer representation of any object it scans. 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus © Andrea Esuli, LinSys3d
Arvutigraafika - Sissejuhatus Animeerimine Kuidas esitada liikumist? Kaadrite järjend Trajektooride kõverad Füüsika või muude seaduste modelleerimine Kuidas esitusi konstrueerida? Kirjeldada käsitsi või luua interaktiivselt Skaneerida sisse (motion capture) Programmeerida (füüsika, A-life) 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus © Lynn B, www.agirlsworld.com
Arvutigraafika - Sissejuhatus 05. sept. 2005 Arvutigraafika - Sissejuhatus © Brian Carpenter
Arvutigraafika - Sissejuhatus © Pete Reilly 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Rendering Kuidas esitada pilti? Rastergraafika: Pilt on valguseenergia jaotus fotoplaadil, me saame esitada selle jaotuse diskreetse pikslite massiivina p[x,y]. Vektorgraafika: Pilt on lihtsatest primitiividest (jooned, ringid, jne) koosnev asi, nii esitamegi. 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Raster vs. Vektor Ajalooliselt esimesed graafilised väljundseaded olid vektori-põhised (vektor CRT-d). Sellised ekraanid suutsid aga näidata ainult piiratud keerukusega pilte. Praegu töötavad kõik ekraanid raster-põhimõte järgi. On jäänud ka mõned vektori-põhised väljundseaded (plotterid). 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Raster vs. Vektor Sõltumata sellest, kuidas me pilti esitame, peab see lõpuks jõudma väljundisse. Kuna enamasti väljundseade on rastri-põhine, seisneb pildi näitamine selle rasteriseerimises. Suur osa arvutigraafikast, nn. 2D-graafika, tegeleb erinevate primitiivide rasteriseerimisalgoritmidega 2D-graafika on igav. Meie kursuses mõistame “arvutigraafika” all pigem 3D-graafikat. 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus 3D graafika Kuidas siis modelleeritud 3D objektide kirjelduse järgi tekitada nende pilti? Projitseerida objekte “kaamera tasandile”, ning värvida kuidagimoodi et näeks tõepäraselt. Need on need kiired algoritmid millega saab teha real-time renderingu mängudes. Simuleerida valgusekiirte läbimist Raytracing, Radiosity, MC-lighting,…: Füüsikaliselt rohkem põhjendatud ning väga ilusaid pilte genereerivad algoritmid, mis on samas talumatult aeglased. 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Real-time rendering Selles kursuses tegeleme rohkem “real-time” rendering-ülesandega See on praktiliselt kasulikum (ilusad pildid on rohkem vajalikud kunsti- ja kinovaldkondades, mis pole niivõrd praktilised) Vastav teooria on kõvasti arendatud ning selle uurimine on hariv See on riistvaraliselt toetatud 05. sept. 2005 Arvutigraafika - Sissejuhatus
Kuidas graafika arvutis töötab? Igas mõistlikus arvutis täna on graafika-operatsioonide sooritamiseks eraldi protsessor, GPU. CPU võib saata GPU-le käske stiilis “joonista seda objekti”, ning GPU tegeleb sellega CPU-ga paralleelselt. GPU juures on olemas eraldi mälu mida ta saab kasutada CPU-st sõltumatult. Kaasaegne videokaart on võrreldav võimsuse poolest põhiarvutiga: 400 MHz GPU, 128 MB VRAM, ... 05. sept. 2005 Arvutigraafika - Sissejuhatus
CPU & GPU CPU RAM Application OpenGL Driver GPU Pixels Vertices VRAM Image Buffers Depth/ Stencil Buffers Texture Maps GPU 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Graphics Pipeline Programmeerija kirjeldab 3D objekte tippude, polügonide ja tekstuuride keeles glBegin(GL_POLYGON) glVertex3f(1, 0, 0); glVertex3f(0, 1, 0); glVertex3f(0, 0, 1); glEnd(); Lisaks määrab ta kaamera asukoha gluLookAt(2, 2, 2, 0, 0, 0); See edastatakse graafikakaardile ning ta tegeleb joonistamisega 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Graphics Pipeline Joonistamiseks tehakse järgmised sammud (graphics pipeline): Tipude transformeerimine & projitseerimine Nähtamatu tahkude & tipude eemaldamine Polügonide rasteriseerimine Pikslite värvimine Pikslite ekraanile väljastamine 05. sept. 2005 Arvutigraafika - Sissejuhatus
Graphics Pipeline Vertex transform Face culling Rasterization Visibility tests & blending Shading Järgmistes loengutes vaatlemegi lähemalt kõik need sammud 05. sept. 2005 Arvutigraafika - Sissejuhatus
Arvutigraafika - Sissejuhatus Tänaseks kõik! Küsimused? 05. sept. 2005 Arvutigraafika - Sissejuhatus