Tietokonegrafiikka. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

Samankaltaiset tiedostot
T Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

T Johdatus Tietoliikenteeseen ja Multimediaan

T Vuorovaikutteinen tietokonegrafiikka Tentti

Luento 3: 3D katselu. Sisältö

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Luento 6: Piilopinnat ja Näkyvyys

Tilanhallintatekniikat

5. Grafiikkaliukuhihna: (1) geometriset operaatiot

Luento 7: Lokaalit valaistusmallit

Visualisoinnin perusteet

Sisällys. T Tietokonegrafiikan perusteet. OpenGL-ohjelmointi 11/2007. Mikä on OpenGL?

T Tietokonegrafiikan perusteet. OpenGL-ohjelmointi

Luento 10: Näkyvyystarkastelut ja varjot. Sisältö

Kertaus. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2011

Luento 6: Tulostusprimitiivien toteutus

Osoita, että kaikki paraabelit ovat yhdenmuotoisia etsimällä skaalauskuvaus, joka vie paraabelin y = ax 2 paraabelille y = bx 2. VASTAUS: , b = 2 2

Oppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8

Symmetrioiden tutkiminen GeoGebran avulla

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

T Tietotekniikan peruskurssi: Tietokonegrafiikka. Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

Malleja ja menetelmiä geometriseen tietokonenäköön

Konformigeometriaa. 5. maaliskuuta 2006

Matematiikan ilmiöiden tutkiminen GeoGebran avulla

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

3D-Maailman tuottaminen

Luento 2: 2D Katselu. Sisältö

KESKEISET SISÄLLÖT Keskeiset sisällöt voivat vaihdella eri vuositasoilla opetusjärjestelyjen mukaan.

Luento 4: Näkyvyystarkastelut ja varjot

4. Esittäminen ja visualisointi (renderöinti)

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

MATEMATIIKKA JA TAIDE II

Geogebra -koulutus. Ohjelmistojen pedagoginen hyödyntäminen

Geometriaa GeoGebralla Lisätehtäviä nopeasti eteneville

Objektien deformaatiot

Kertaus. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2012

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

TIES471 Reaaliaikainen renderöinti

Sisältö. Luento 1: Transformaatiot (2D) 1. Koordinaattimuunnokset. Muunnokset (jatkuu) 2. Perustransformaatiot. Perustransformaatiot (jatkuu)

Tekijä Pitkä matematiikka

GeoGebran 3D paketti

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

3.4.1 Perspektiiviprojektio

6.5. Renderöintijärjestys

MATEMATIIKKA 5 VIIKKOTUNTIA

Luento 2: Viivan toteutus

3D-grafiikkamoottorin toteutus

LW LightWorks. 1 Renderoijan perussäädöt. 1.3 LightWorks-tehosteet Menetelmät ja reunantasoitus. 1.1 Sisältö. 1.2 Lightworksin käytön aloitus

Sisältö. Luento 6: Piilopinnat. Peruskäsitteet (jatkuu) Peruskäsitteitä. Yksinkertaisia tapauksia. Yksinkertaiset tapaukset jatkuu

Ellipsit, hyperbelit ja paraabelit vinossa

Symmetriaryhmät ja niiden esitykset. Symmetriaryhmät, /26

Esityksen sisältö. Peruskäsitteitä. 3D Grafiikka tietokonepeleissä. Piirto- ja taustapuskuri

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

4.1 Urakäsite. Ympyräviiva. Ympyrään liittyvät nimitykset


T Studio 4. luento 3: laskennallista geometriaa virikkeitä harjoituksiin: luovuudesta. matemaattista/abstraktia taidetta tietokonetaidetta

Riemannin pintojen visualisoinnista

Luento 6: Geometrinen mallinnus

Luento 2 Stereokuvan laskeminen Maa Fotogrammetrian perusteet 1

Matematiikka vuosiluokat 7 9

LUENTO 6 KUVANKÄSITTELY

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. Olkoot A 2 := AA =

Suorien ja tasojen geometriaa Suorien ja tasojen yhtälöt

Luento 6: Geometrinen mallinnus

Kertaus. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

3D-renderöinti OpenGL-ohjelmointirajapinnalla

Tässä osassa ei käytetä laskinta. Selitä päätelmäsi lyhyesti tai perustele ratkaisusi laskulausekkeella, kuviolla tms.

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

Kahden suoran leikkauspiste ja välinen kulma (suoraparvia)

Luento 7: 3D katselu. Sisältö

TIES471 Reaaliaikainen renderöinti

Tekijä Pitkä matematiikka Pisteen (x, y) etäisyys pisteestä (0, 2) on ( x 0) Pisteen (x, y) etäisyys x-akselista, eli suorasta y = 0 on y.

2 Pistejoukko koordinaatistossa

Pistepilvestä virtuaalimalliksi työpolku

LightWorks. 1 Renderoijan perussäädöt. 1.1 Sisältö. 1.2 LightWorksin käytön aloitus

I Geometrian rakentaminen pisteestä lähtien

T Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

Tapio Takala / Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio

HELSINGIN YLIOPISTON VIIKIN NORMAALIKOULUN

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

Piste ja jana koordinaatistossa

Grafiikka 205. Tässä luvussa käsitellään geometriaa ja graafisia kohteita. Mukana on pääosin alkeisoperaatioita.

763306A JOHDATUS SUHTEELLISUUSTEORIAAN 2 Ratkaisut 1 Kevät y' P. α φ

Oppimistavoitematriisi

Oppimistavoitematriisi

Luento 3: 2D Katselu. Sisältö

Peilatun kuvion ominaisuudet

11. Geometria Valikot ja näppäintoiminnot. Geometriasovelluksessa voit tehdä puhdasta tai analyyttista geometriaa.

Luento 2: Transformaatiot (2D)

MATEMATIIKKA 3 VIIKKOTUNTIA

Mihin käytetään (jatkuu) Mihin käytetään (jatkuu) Mihin käytetään (jatkuu) Grafiikkajärjestelmä. Graafiset näyttölaitteet.

12.5. Vertailua. Silmäillään laskostumisen estoa tietokonegrafiikan kannalta. Kuva luonnehtii vaihtoehtoja.

Luento 7: Fotogrammetrinen mittausprosessi

3D-kuvauksen tekniikat ja sovelluskohteet. Mikael Hornborg

Tietokonegrafiikan kertausta eli mitä jokaisen animaattorin tulisi tietää tekniikasta

Inversiosta stereografiseen projektioon

Kuvan käsittelyn vaiheet

Transkriptio:

Tietokonegrafiikka Jyry Suvilehto T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

1. Sovellusalueita 2. Rasterigrafiikkaa 3. Vektorigrafiikkaa 4. 3D-grafiikkaa 1. Säteenheitto 2. Säteenseuranta Luennon sisältö Luento pohjautuu Timo Tossavaisen ja Jaakko Lehtisen vastaavan luennon esityksiin 2

1991 Wolfenstein 3D 2014 Wolfenstein: The New Order 3

Animaatio, elokuvat http://vimeo.com/16292363 vs 4

Simulointi 5

The Light of Mies van der Rohe http://graphics.stanfor d.edu/~henrik/animati ons/ Arkkitehtuuri 6

KAIKKI SOVELLUKSET RAKENTUVAT SAMOILLE PERUSPERIAATTEILLE 7

Digitaaliset kuvat koostuvat pikseleistä hilassa Pikselillä voi olla väri Tyypillinen esitys muistissa Pikselit peräkkäin Saman pikselin värikomponentit peräkkäin Rasterigrafiikka 8

Rasteriarkkitehtuuri 9

Rasteriesityksen ongelmia Rakenteeton Pelkkiä pikseleitä Tarvitsee paljon tilaa Vaikea muokata (zoomata, kiertää) Toimivuus riippuu näytön tarkkuudesta 10

Vektorigrafiikka Kuvataan piirrettävä kuva matemaattisten primitiivien avulla Ääretön tarkkuus Primitiivit muodostavat kokonaisuuksia Renderoidaan eli muodostetaan kuva rasterille Resoluutioriippumaton: tarkkuuden voi valita renderointivaiheessa Osat erikseen muokattavissa 11

Täytyy määritellä Primitiivit Operaatiot: Vektorigrafiikka Siirto, skaalaus, kierto Leikkaukset, etäisyyksien määritteleminen Rasterointi eli piirtäminen 12

Muunnokset vektorigrafiikassa Siirrot, kierrot ja skaalaukset on esitettävissä matriiseilla, kun koordinaattivektoreiden loppuun lisätään 1 Esim siirto x y verran matriisimuodossa 1 0 0 0 1 0 x x x x y y y y 1 1 1 Kuvauksien yhdistäminen = matriisikertolasku Käänteismatriisi = käänteiskuvauksen matriisi Projektiiviset muunnokset esitettävissä homogeenisilla koordinaateilla operoivilla matriiseilla samaistamalla (wx, wy, w) w 0 pisteen (x, y) koordinaateiksi 13

Vektorigrafiikan primitiivit Säilyttävä muunnoksissa, projektiivisissa esim. Suora suora Kolmio kolmio Hypertaso hypertaso Tehokas kuvata, leikata ja piirtää Suora, puolisuora, jana, hypertaso, pallo, ellipsoidi, kolmio, monikulmio, kartioleikkaus 14

Geometrinen laskenta Piirtoalgoritmit rakentuvat primitiivien välisten geometristen laskelmien päälle Etäisyydet ja leikkaukset C Q X1 X2 P u B P C r A 15

Piirretään kuva geometrisesta primitiivistä Rasterointi 16

Mallintaminen Koostetaan kuvio matemaattisista primitiiveistä Muunnoksilla voidaan muokata kaikkia pisteitä yksi kerrallaan Kierto Siirto Mittakaava Voidaan piirtää eri resoluutioisille näytöille 17

Katselu ja renderöinti Piirrosta katsellaan ikkunan (window) läpi Ikkunasta näkyvä osuus piirretään näyttöalueeseen (viewport) esim. primitiivi kerrallaan 18

Leikkaaminen Näyttöalueen ulkopuolisia osia ei piirretä Hidasta laskea joka pikselille piirretäänkö se Yleensä primitiivit leikataan näyttöalueeseen ennen piirtoa 19

Antialiasointi Primitiivit ovat äärettömän tarkkoja Pikselin värin poimiminen pistemäisestä näytteestä aiheuttaa laskostumista (aliasing) Optimi: alipäästösuodatetaan ideaalikuvaa Käytännössä: piirretään korkeammalla resoluutiolla ja pienennetään tai käsitellään osittainen pikselin peitto fiksusti 20

3D-vektorigrafiikka Periaatteet samat kuin 2D-grafiikassa Ulottuvuuksia yksi lisää Primitiivit kolmiulotteisia Muunnokset kolmiulotteisia (eli 4x4-matriisi, koska lisätään loppuun 1) Pitää tehdä projektio tasolle Perspektiiviprojektio Yhdensuuntaisprojektio (esim. Tekniset piirrokset) Näkyvyysongelma, asiat voivat peittää toisensa Sävytys, valolla voi olla suunta ja kappaleet voivat olla varjossa 21

Perspektiiviprojektio n projektio u P katsoja ikkuna Katselutaso projektiotaso 22

Näkyvyysongelma Myöhemmin piirretyt primitiivit peittävät aiemmin piirretyt Kuution voi piirtää sivu kerrallaan monella eri tavalla 23

Säteenheitto Heitetään säde jokaisen kuvapisteen läpi Etsitään säteen leikkaukset primitiivien kanssa Lähin leikkauspiste on näkyvä pinnan piste 24

Syvyyspuskuri (Z-buffer) Pidetään kirjaa jokaiseen pikseliin piirretyn pinnan pisteen syvyydestä Piirretään uudelleen pikseli, jos pinnan pistä lähempänä kuin aiempi Läpinäkymättömät primitiivit voidaan piirtää mielivaltaisessa järjestyksess Nopea: käytetyin tekniikka reaaliaikaisessa grafiikassa 25

Sävytys Pinnalta havaitun värin muodostaminen Valaistus, teksturointi, kuhmutus 26

Valaistus Lambertin malli: pinnan normaali määrittää pisteen valoisuuden määrän Phongin malli: taustavalo (ambient) + hajaheijastuva valo (diffuse, mattapinta) + peiliheijastuva valo (specular) Yksinkertaiset valonlähteet Spotti Yleisvalo (ambient) Suuntavalo 27

Valaistus Lambertin malli: pinnan normaali määrittää pisteen valoisuuden määrän Phongin malli: taustavalo (ambient) + hajaheijastuva valo (diffuse, mattapinta) + peiliheijastuva valo (specular) Yksinkertaiset valonlähteet Spotti Yleisvalo (ambient) Suuntavalo n r θ θ α e 28

Lambert shading Pupu koostuu kolmioista Ei tekstuuria Phongin malli Tekstuuri Kolmion sisällä pisteiden normaalit interpoloidaan 29

Ohjelmoitava sävytys Liitetään mallin kulmapisteisiin tietoa, joka interpoloidaan kolmioiden yli Sävytysfunktio (pixel/fragment shader) laskee pinnan värin vakioista ja interpoloidusta tiedosta, mm. Valonlähteiden paikat ja tyypit Materiaalin valaistusominaisuudet Tekstuurit ja tekstuurikoordinaatit Pinnan hienorakenne Joissakin tekniikoissa useita piirtokertoja (mm. varjot) 30

Grafiikan liukuhihna 1. Mallinna geometria Tässä verkko kolmioita Pinnnan materiaali on hyvä olla tiedossa Objektin koordinaatit 31

Grafiikan liukuhihna 1. Mallinna geometria Tässä verkko kolmioita Pinnnan materiaali on hyvä olla tiedossa 2. Lisää objektit maailman koordinaatistoon Jokaisella objektilla on oma koordinaatistonsa Vain yksi maailman koordinaatisto objekti Objektin koordinaatit Maailman koordinaatit Toinen objekti Maailman origo 32

Grafiikan liukuhihna 1. Mallinna geometria Tässä verkko kolmioita Pinnnan materiaali on hyvä olla tiedossa 2. Lisää objektit maailman koordinaatistoon Jokaisella objektilla on oma koordinaatistonsa Vain yksi maailman koordinaatisto 3. Valitse katselupaikka ja suunta objekti Objektin koordinaatit Maailman koordinaatit Kameran koordinaatit Toinen objekti Maailman origo 33

Grafiikan liukuhihna 1. Mallinna geometria Tässä verkko kolmioita Pinnnan materiaali on hyvä olla tiedossa 2. Lisää objektit maailman koordinaatistoon Jokaisella objektilla on oma koordinaatistonsa Vain yksi maailman koordinaatisto 3. Valitse katselupaikka ja suunta 4. Muuta objektit katselukoordinaatistoon ja projisoi kuvatasolle Laske valaistus ja piirrä kuva! Objektin koordinaatit Maailman koordinaatit Kameran koordinaatit Kuvan koordinaatit 34

Grafiikan liukuhihna Objektin koordinaatit Maailman koordinaatit Kameran koordinaatit Kuvan koordinaatit 35

Grafiikkaliukuhihnan ominaisuuksia Piirtää primitiivin kerrallaan Ei tarvitse tietoa koko näkymästä Läpinäkymättömien primitiivien piirtojärjestys vapaa Laitteistokiihdytetty Monta rinnakkaista liukuhihnaa (pipelineä) laskee yhtä aikaa Suurelta osin ohjelmoitavissa Maiseman geometriaa tarvitsevien tekniikoiden toteutus hankalaa (heijastukset, varjot, globaali valaistus) 36

Animaatio Animaatiossa muutetaan koordinaattimuutoksia ajan funktiona Objektin koordinaatit Maailman koordinaatit Kameran koordinaatit Kuvan koordinaatit 37

Liikkeen mallintaminen Määritellään mallille luuranko ja sidotaan pinnan primitiivit luurankoon Käännetään luurankoa nivelien kohdalta ja pinta seuraa mukana Haaste: pehmeät kudokset, joustavuus 38

Virtuaalimaailmaa tehtäessä otettava huomioon Virtuaalimaailma Fysiikka, törmäykset Maailman kanssa vuorovaikuttaminen 39

Säteenseuranta Säteenseurannassa (ray tracing) grafiikkaliukuhihnan askeleet tehdään käänteisessä järjestyksessä Objektin koordinaatit Maailman koordinaatit Kameran koordinaatit Kuvan koordinaatit 40

Säteenseurannassa ammutaan valonsäteitä kamerasta rasterihilan läpi kohti objekteja Säteet heijastuvat kohtaamistaan pinnoista kunnes päätyvät valonlähteeseen Laskennallisesti raskasta, tarvitsee tietoa koko maailmasta Läpinäkyvyys, taittuminen ja heijastukset mahdollisia Säteenseuranta 41

Säteenseuranta / Fotorealismi 42

ME-C3100 ME-E4100 Grafiikkaa Aallossa Tuore proffa maailmalta, pitänyt vastaavia kursseja MIT:ssä viimeaikoina Suositeltavia, mutta raskaita Ohjelmointi ja matematiikka olisi hyvä osata riittävän hyvin etukäteen 43