20
T-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

T-106.1041 Tietotekniikan peruskurssi:

Tietokonegrafiikka

Tassu Takala TKK, Tietoliikenneohjelmistojen ja

multimedian laboratorio

Page 2: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

2

Luennon aiheita (1)

•  mitä on tietokonegrafiikka? –  tietokone piirtää kuvia

•  mikä on digitaalinen kuva? –  rasterikuva = suorakulmainen taulukko pisteitä (pixel)

•  mistä kuvat saavat alkunsa? –  digikamera / skanneri –  käsin piirtäminen tietokoneen ruudulla –  matemaattinen malli (simulaatio) tai muu ohjelmoitu

koodi (algoritmi)

Page 3: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

3

Luennon aiheita (2)

•  kuinka kuvia tuotetaan ja käsitellään? –  kolmiulotteisen maailman esittäminen –  kuvien esitystavat ja muokkaus –  mihin grafiikkakorttia tarvitaan?

•  miten tuotetaan liikkuvaa (animoitua) kuvaa? –  nopea sarja kuvia = näennäinen liike

•  vuorovaikutus (human-computer interaction, HCI) –  graafiset käyttöliittymät –  [muut mediat: ääni ja liike]

Page 4: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

4

Digitaalinen kuva •  rasterikuva

–  pikseli = pienin kuvaelementti, piste –  resoluutio = pikseleiden määrä (x- ja y-

suunnissa) –  kuvan sisältö muodostuu pikseleiden väreistä

•  väri muodostuu kolmesta komponentista –  Red + Green + Blue

•  vektorigrafiikka = matemaattisen tarkkoja muotoja –  mittakaava muutettavissa tarkkuuden

kärsimättä –  esim. kirjasimet (font)

Page 5: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

5

Sovellusesimerkki: tietokonepeli

•  Habbo Hotel –  2-ulotteinen (2D) sarjakuvamainen

ilmiasu –  hahmot toistuvat lähes

samanlaisina tilanteesta toiseen •  Max Payne

–  3-ulotteinen (3D) realistinen ulkomuoto

–  näkymä riippuu katselusuunnasta ja valaistuksesta

–  nopeaa, reaaliaikaista toimintaa

Page 6: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

6

Mitä peliin tarvitaan? •  pelimaisema ja pelihahmot

–  kolmiulotteinen muoto (3D-geometria) –  pintakuviointi (tekstuuri) –  hahmojen (agenttien) liikkuminen (animaatio) ja mielekäs

käyttäytyminen (tekoäly) –  usein myös: pelaajan sijaishahmo (avatar)

•  pelitilanteen esittäminen (display) –  kuva virtuaalisella kameralla (renderointi) –  peliäänet: tapahtumaefektit ja taustamusiikki

•  vuorovaikutus (interaktio) pelaajan kanssa –  pelaajan liikkuminen ja näkökulma –  ohjainlaitteiden (hiiri, näppäimet, anturit) seuranta

Page 7: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

7

Geometrinen �mallintaminen

•  matemaattinen esitystapa 3-ulotteiselle muodolle –  kolmioista muodostuva monitahokaspinta –  parametriset käyrät ja pinnat (splini)

•  määritellään “ohjauspisteiden” avulla –  piste ilmaistaan koordinaatteina (x,y,z) –  kolmio = kolme pistettä; monikulmio =

jono pisteitä –  käyräelementti = päätepisteet + suunnat

päätepisteissä •  monimutkainen muoto voi koostua

suuresta joukosta peruselementtejä

Page 8: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

8

Hierarkkinen mallinnus

•  suuret kokonaisuudet muodostuvat osista –  nämä edelleen pienemmistä osista

•  nämä edelleen vielä pienemmistä osista –  jne...

•  kunkin osan sijainti määritellään suhteessa seuraavaksi isompaan kokonaisuuteen –  sijainti = siirtymä (translaatio) + asento

(rotaatio) + mittakaavamuutos (skaalaus) –  esim. robottinivel = pelkkä rotaatio

Page 9: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

9

Esimerkki hierarkiasta: ihmismalli

VRML/MPEG-4: h-anim

Page 10: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

10

Animaatio

•  liike näytetään sarjana hetkellisiä näkymiä (snapshot) –  esim. elokuvassa 24 ruutua/s

•  liikkeen määrittely (animointi) –  perinteinen tapa: piirretään kuva kerrallaan –  matemaattinen tapa: sijainti ajan funktiona

[x,y,z](t) •  kukin näkymä lasketaan tietyllä ajan arvolla •  sovelletaan hierarkkisen mallin kaikkiin osiin

•  liikeradat geometrisina (parametri)käyrinä

Page 11: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

11

Pintarakenne (teksturointi)

•  usein monikulmiomalli sellaisenaan ei riitä (tarvittaisiin liikaa kolmioita)

•  esitetään hienorakenne monikulmion päälle liimattuna rasterikuvana (tekstuuri)

•  määriteltävä, mikä osa kuvasta osuu monikulmion alueelle (texture mapping)

•  tekstuuri voidaan tulkita monella tavalla –  väri (pinnan heijastuskertoimet pääväreille) –  muotopoikkeama geometriasta (bump/offset map)

Page 12: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

12

Kuvantaminen (renderointi) •  mallinnettu 3D-maailma projisoidaan

kuvatasolle virtuaalisen kameramallin avulla –  määriteltävä katselupiste ja -suunta

(kuvatason normaali) sekä kuvan rajaus (frustrum)

•  monikulmion kuva = nurkkapisteiden projisoidut sijainnit kuvatasolla

•  monikulmion sisään jäävät pikselit väritetään –  pisteiden värin määrää käytetty

valaistusmalli�(ks. kuvat seuraavalla sivulla)

Page 13: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

13

Erilaisia renderointitapoja

‘wire frame’

‘flat shading’

muodon siloittaminen, teksturointi, varjot,

heijastukset, jne.

Page 14: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

14

Grafiikkakortti

•  kuvan laskenta työlästä, jos esitettävänä suuri määrä monikulmioita / pikseleitä

•  rinnakkaisprosessointi –  keskusyksikkö (CPU) käsittelee mallia (esim.

animaatio) monikulmioina –  grafiikkaprosessori (GPU) laskee 3D-projisoinnin ja

yksittäisten pikseleiden valaistuksen •  [grafiikkakortilla paljon laskentatehoa - voidaan

ohjelmoida myös muuhun tarkoitukseen]

Page 15: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

15

Äänet (auditory display)

•  mitä tekemistä grafiikan kanssa? •  monella tavoin analoginen valon kanssa

–  aaltoliike, säteittäinen eteneminen –  optiikan periaatteilla voidaan mallintaa

myös akustiikkaa ⇒ ‘sound rendering’ •  3D-äänentoisto

–  äänen tulosuunta tehdään aistittavaksi –  stereon (vaakasuora panorointi) laajennus

•  ääniefektit synkronissa animaation kanssa –  esim. puhe + huulten liike (lip-sync)

Page 16: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

16

Vuorovaikutus (interaktio) •  vuorovaikutus = informaation kulkua

molempiin suuntiin, ja siihen reagoimista –  ohjainlaitteiden (hiiri, näppäimet, anturit) seuranta –  tapahtumien (esim. näppäimen painallus)

ohjaaminen suorittavalle ohjelmalle –  ohjauksen vaikutusten näyttäminen

•  kaiku (esim. yhden kirjaimen kuvan ilmestyminen) •  vuorovaikutuksen tila (esim. mikä työkalu on käytössä) •  käyttökohteen tila (esim. tekstidokumentti kullakin

hetkellä)

Page 17: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

17

Graafinen käyttöliittymä (GUI)

•  virtuaaliset työkalut (widget),� esim. rullauskahva (scroll bar)

•  rajattu alue (ikkuna) kullekin toiminnalle / sovellusohjelmalle

•  grafiikan rooli = käyttöliittymäelementtien ja sisällön piirtäminen

Page 18: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

18

Uusia suuntauksia

•  multimodaalisuus (ei pelkkä grafiikka) –  ääni, tunto- ja liikeaisti

•  uusia syöttölaitteita (näppäinten ja hiiren lisäksi) –  videokamera + liikkeen/kuvan tunnistus –  liike- (kiihtyvyys) ja paikka-anturit (mm. GPS) –  biosensorit (verenpaine, aivoaallot, jne.)

•  uusia kommunikointikanavia –  esim. tunneilmaisut (kasvojen ilmeet, eleet)

Page 19: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

19

Loppukevennys:�‘Kick Ass Kung Fu’�

http://www.kickasskungfu.net/gallery/video/kickass.mpg

Page 20: T-106.1041 Tietotekniikan peruskurssi: TietokonegrafiikkaT-106.1041 Tietotekniikan peruskurssi: Tietokonegrafiikka Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

4.10.2007 Tietokonegrafiikka

20

Kysyttävää ?