Vokselit tietokonepeleissä
|
|
- Kristiina Tamminen
- 9 vuotta sitten
- Katselukertoja:
Transkriptio
1 Petri Partanen Vokselit tietokonepeleissä Tietotekniikan kandidaatintutkielma 19. joulukuuta 2013 Jyväskylän yliopisto Tietotekniikan laitos
2 Tekijä: Petri Partanen Yhteystiedot: Ohjaaja: Sanna Mönkölä Työn nimi: Vokselit tietokonepeleissä Title in English: Voxels in video games Työ: Kandidaatintutkielma Suuntautumisvaihtoehto: Ohjelmistotekniikka Sivumäärä: 31 Tiivistelmä: Tässä tutkielmassa selvitettiin vokseleiden käyttöä tietokonepeleissä ja kartoitettiin yleisesti vokselitekniikan hyötyjä, mahdollisuuksia ja ongelmia reaaliaikaisen grafiikan tuottamisessa. Vokseleita verrattiin perinteiseen polygonipohjaiseen esitystapaan ja esiteltiin kuinka vokselitekniikka saattaisi ratkaista joitain polygonipiirron ongelmakohtia. Vokselipiirron todettiin monista hyvistä teknisistä ratkaisuistaan huolimatta kaipaavan yhä huomattavasti lisää tutkimusta, sillä yleinen työkalujen puute, animoinnin vaikeus, muistinkäyttö ja muut ongelmat rajoittavat vokseleiden käyttöä tietokonepeleissä vielä ainakin toistaiseksi. Avainsanat: vokseli, pelit, tilavuusrenderointi, kasipuu, säteenseuranta, dynaaminen virtuaaliympäristö Abstract: This study examined the usage of voxel technology in video games. The benefits and limitations of voxels for interactive graphics were investigated. Voxels were compared to the more traditional polygon technology and some of the beneficial effects from voxel usage were introduced. Despite of these positive features it was determined that the voxel technique still requires a lot of improvement on the memory usage and general tools, before it can be truly useful for video games. Keywords: voxel, games, volume rendering, voxel octree, ray casting, ray tracing, dynamic virtual environment i
3 Kuviot Kuvio 1. Polygonimalli ja vokselimalli... 1 Kuvio 2. Vokseleilla esitetty iso kuutio, jolla on sisusta Kuvio 3. Comanche pelin vokselimaastoa Kuvio 4. Delta Force 2:n vokselimaastoa ja polygonihahmoja Kuvio 5. Kuvankaappaus avoimen lähdekoodin Minetest-pelistä Kuvio 6. Vokselimaasto mahdollistaa luonnonmuodostelmat ii
4 Sisältö 1 JOHDANTO VOKSELIT Vokseligrafiikkaa Tallennusratkaisut Vokselit peleissä VOKSELEIDEN OMINAISUUDET Dynaamisuus Kuvanveisto ja luonnonmuodot Fysiikka Erikoisefektit Tekoäly VOKSELEITA JA POLYGONEJA Tarkkuustasot Säteenseuranta Animaatio Muistinkäyttö Työkalut TULEVAISUUS YHTEENVETO...25 KIRJALLISUUTTA...26 iii
5 1 Johdanto Nykypäivän tietokonepeleissä grafiikka on lähes poikkeuksetta toteutettu polygonipiirron avulla. Polygonipohjaisessa piirrossa graafinen kuva koostetaan yleensä kolmioista, joiden kärkipisteitä yhdistelemällä saadaan aikaiseksi monimutkaisempia kokonaisuuksia. Kolmiulotteista grafiikkaa näin tuotettaessa voimmekin ajatella näkemiemme objektien olevan onttoja muotoja, jotka ovat vain pinnoitettuja kolmioiden avulla (Crassin, 2011, s. 16). Jotta polygoniverhotuista kappaleista saataisiin realistisemman näköisiä, ne usein teksturoidaan bittikarttakuvilla (Kolehmainen, 2008, s. 5). Vokselit tarjoavat tästä merkittävästi poikkeavamman lähestymistavan: vokselit voidaan mieltää kolmiulotteisiksi pikseleiksi, jotka ovat tyypillisesti järjestettyinä vierekkäin kolmiulotteisessa koordinaatistossa (kuvio 1). Koostamalla suuri määrä vokseleita yhteen, on mahdollista luoda monimutkaisiakin kolmiulotteisia malleja. (Reilly, 2011, s. 2.) Teoreettisesti ajatellen, voisimme tehdä vokseleista niin pieniä, että yksittäistä vokselia ei olisi edes mahdollista erottaa ihmissilmin. Koska jokaiselle vokselille on lisäksi mahdollista määritellä oma värinsä, ei välttämättä tarvita lainkaan erillisiä tekstuureita. Lisäksi vokseleiden avulla on mahdollista mallintaa myös kappaleiden sisusta (Schwarz & Seidel, 2010). Kuvio 1. Polygonimalli ja vokselimalli 1
6 Vokseleihin perustuva tekniikka ei itsessään ole varsinaisesti uutta pelirintamalla, sillä vokseleita hyödynnettiin yli vuosikymmen sitten pikaisesti tietokonepeleissä. Sen avulla oli mahdollista luoda uskottavaa kolmiulotteista grafiikka, kun polygonipiirtoa tukeva laitteistokiihdytys oli vielä alkutekijöissään (Paul, Goon & Bhattacharya, 2012). Teknisesti raskaampana vaihtoehtona vokselipiirto jäi kuitenkin ennen pitkää vähemmälle suosiolle. Nyt tietokoneiden laskentatehon ja muistitilan yhä lisääntyessä on vokseleiden käyttö kuitenkin jälleen yksi mahdollinen tekninen toteutusratkaisu tietokonepeleissä. (Römisch, 2009, s ) Vokselipiirto ei sellaisenaan ole välttämättä nykypäivän pelien näkökulmasta erityisen mielenkiintoinen, onhan polygonien avulla saatu aikaiseksi jo hyvin uskottavaa grafiikkaa. Vokseleiden hyödylliset ominaisuudet piilevätkin erityisesti niiden muunneltavuudessa ja esitystavassa. Koska vokselit ovat vain yksittäisiä pisteitä suuremmista kokonaisuuksista, on vokseleita lisäämällä ja poistamalla mahdollista saada aikaiseksi helposti muunneltava kuva-avaruus. Vokseleita voidaankin karkeasti verrata kaksiulotteisten bittikarttakuvien muunneltavuuteen, joissa yksittäisiä pikseleitä muuttamalla muutosmahdollisuudet ovat lähes rajattomat (Kolehmainen, 2008, s. 1). Moni tietokonepelaaja on luultavasti jossain vaiheessa turhautunut yrittäessään tuhota ympärillään olevaa virtuaaliympäristöä, vain huomatakseen ettei pysty vaikuttamaan esimerkiksi maaston muotoihin. Peliympäristön staattisuus onkin tavallaan jo koettu normaaliksi useimmissa kolmiulotteisissa tietokonepeleissä. Juuri peliympäristön muunneltavuudella saattaisikin olla mahdollista tuoda peleihin jotain, mitä peleistä on viime vuosien nopeasta kehityksestä huolimatta puuttunut. Tässä tutkielmassa kartoitetaan vokseleiden hyötyjä pelien näkökulmasta katsottuna ja verrataan vokselitekniikkaa perinteisempänä pidettyyn polygonipiirtoon. Tutkielmassa keskitytään erityisesti reaaliaikaista grafiikkaa tuottaviin, kolmiulotteisiin tietokonepeleihin. Aikaisempi tutkimus vokseleista on keskittynyt juuri tiettyjen vokseleiden osa-alueiden tarkasteluun, eikä laajempaa selvitystä vokseleiden hyödyistä peleissä ole merkittävästi tehty. 2
7 2 Vokselit Kuten luvussa 1 esiteltiin, voidaan vokseli mieltää yksinkertaisimmillaan kolmiulotteiseksi pikseliksi, joka edustaa kolmiulotteisen kuva-avaruuden pienintä mallinnettavaa kappaletta. Wilhelmsenin (2012, s. 3) mukaan vokselille ei ole varsinaisesti määritelty erityistä geometrista muotoa, mutta yleisesti vokselit kuitenkin piirretään ja mielletään kuutioiksi (kuvio 2). Kuutiot ovatkin esimerkiksi palloja helpompi tapa tutkia vokseleita ja niiden ominaisuuksia, kun tarkoituksena on esitellä kokonaisia vokseliympäristöjä. Kuvio 2. Vokseleilla esitetty iso kuutio, jolla on sisusta. Vokseleita on käytetty erityisesti lääketieteellisessä kuvantamisessa, jossa on tarpeen luoda visuaalinen kuva esimerkiksi aivojen rakenteesta. Aihe on kuitenkin niin laaja, että tässä tutkielmassa ei oteta kantaa vokseleiden käyttöön lääketieteen alalla, vaan keskitytään peleihin. Luvussa 2.3 tarkastellaan sitä, kuinka vokseleita on hyödynnetty tunnetuimmissa vokselipohjaisissa tietokonepeleissä, mutta sitä ennen esitellään yleisesti vokseleiden piirtotavat ja tallennusratkaisut. 3
8 2.1 Vokseligrafiikkaa Modernien näytönohjainten yleisin tapa piirtää kolmiulotteista grafiikkaa nykypäivänä on polygonimallien nk. rasterointi 1. Rasteroinnissa vektoriaineiston avulla esitetyt geometriset muodot (kolmiot tai neliöt) muunnetaan kaksiulotteisiksi kuvapikseleiksi. (Wilhelmsen, 2012, s. 5.) Tässä tutkielmassa polygonipiirrolla tarkoitetaan vastaisuudessa nimenomaan polygonipohjaisen grafiikan piirtämistä rasteroinnilla. Vastaavasti vokselidatan piirtämistä voitaisiin yleisesti nimittää tilavuusrenderoinniksi, mutta yksinkertaisuuden ja väärinkäsitysten välttämiseksi viitataan kuitenkin vastedes vain vokseleihin ja vokselipiirtoon. Kolehmaisen (2008, s. 9) mukaan ensimmäiset vokseleita käyttävät ohjelmat piirsivät vokselidataa käyttäen karkeita kaksiulotteisia muotoja, sillä niiden piirtäminen oli tuolloin parhaiten tunnettu menetelmä. Tuloksena oli siis eräänlaiset summittaiset arviot vokseleiden sijainneista ja fyysisestä olemuksesta kolmiulotteisessa ympäristössä. Myöhemmät ohjelmat taas piirsivät vokseleita suoraan kuvamuistiin, mikä mahdollisti jo yksittäisten vokseleiden tarkan piirron. Edellä mainitut menetelmät eivät kuitenkaan ole moderneilla näytönohjaimilla erityisen käyttökelpoisia. (Kolehmainen, 2008, s. 9.) Yksi ratkaisu vokseleiden kolmiulotteiseen piirtoon on käyttää polygonipiirtoa. Tätä tapaa varten vokselidata on kuitenkin ennen piirtämistä muunnettava käytännössä kokonaan polygonipohjaiseksi. Polygoneiksi muuttamisen etuna tosin on, että voimme käyttää jo olemassa olevia, hyvin tunnettuja piirtomenetelmiä sekä näytönohjainten tukemia ominaisuuksia. Tätä piirtotapaa voidaan nimittää myös ns. epäsuoraksi vokselipiirroksi 2. Vokselidatan muuntamiseksi polygonipohjaiseksi on kehitetty erilaisia menetelmiä, joista yksi parhaiten tunnetuista on nk. marching cubes -algoritmi. (Reilly, 2011, s. 11.) Polygonipiirto on kelvollinen tapa esittää vokseliympäristöä, mutta vokselidatan muuntaminen kokonaan toiseen muotoon piirtämisen mahdollistamiseksi lisää kui- 1 engl. rasterization 2 engl. indirect volume rendering 4
9 tenkin ehkä hieman tarpeettomasti graafisen laskennan ja muistinkäytön määrää. Viime vuosina näytönohjainten ohjelmoitavuuden myötä vokseleiden ensisijaiseksi ja nopeimmaksi piirtotavaksi onkin noussut säteenseuranta 3 (Crassin, 2011, s ). Säteenseurannassa grafiikkaa piirretään geometristen muunnosten sijaan sen perusteella, mihin kuva-avaruuden pisteisiin kamerasta lähetetyt säteet osuvat. Tämä mahdollistaa vokseleiden suoran piirtämisen ilman muuntamista, menettämättä kuitenkaan samalla vokseleiden kolmatta ulottuvuutta. (Reilly, 2011, s. 12.) 2.2 Tallennusratkaisut Yksi vokselitekniikan keskeisimmistä asioista on tapa, jolla vokseleita tallennetaan. Yksinkertaisin mahdollinen tapa vokseleiden tallettamiseen olisi kolmiulotteinen taulukko, jossa jokainen yksittäinen taulukon alkio vastaisi yhtä vokselia tai tyhjää tilaa. Taulukko on tunnetusti erittäin nopea tallennusratkaisu, mutta sen vaatima muistitila vokseleiden talletukseen kasvaa helposti epäkäytännöllisen suureksi, eikä se siten sovellu sellaisenaan tietokonepelien käyttötarkoituksiin. (Römisch, 2009, s. 11.) Vokseliympäristöissä tyhjän alueen määrä voi olla merkittävän suuri, sillä vokseleilla voidaan mallintaa perinteiseen tapaan ainoastaan objektien pinnat (Laine & Karras, 2010, s. 1). Koska tyhjän tilan tallettamisesta ei ole varsinaisesti hyötyä, eikä suurinta osaa vokseleista joka tapauksessa piirretä jatkuvasti näytölle, on vokselidatan talletukseen kehitetty erilaisia pakkaavia menetelmiä. Eniten huomiota osakseen ovat saaneet tietotekniikassa hyvin tunnetut puurakenteet, jotka ovat usein myös suorituskykyisiä. Joidenkin puurakenteiden avulla vältytään tallettamasta tyhjää tilatietoa ja voidaan säästää näin merkittävästi muistitilaa. Puurakenteet soveltuvat erityisen hyvin sellaisenaan myös säteenseurantaan ja onkin siten luonnollista että näitä menetelmiä käytetään yhtä aikaa. 3 tässä tutkielmassa viittaamme säteenseuralla yleisesti englanninkielisiin vastineisiin ray casting ja ray tracing 5
10 Yleisimmin käytettyjä puurakenteita vokselidatan talletukseen ovat kd-puu ja kasipuu 4. Tällä hetkellä vokselipiirron tutkimus näyttää suuntautuvan erityisesti harvan kasipuun 5 ja sen muunnelmien käyttöön. Puurakenteiden tueksi on kehitetty myös useita erilaisia algoritmejä, joiden avulla vokselidataa voidaan lukea mahdollisimman tehokkaasti. 2.3 Vokselit peleissä Pelien näkökulmasta vokselitekniikka oli erityisen kiinnostava 1990-luvun alussa, jolloin etsittiin keinoja kolmiulotteisen grafiikan esittämiseen. Ensimmäiset kolmiulotteista grafiikkaa tukevat näytönohjaimet tulivat markkinoille 1995, mutta varsinainen 3D vallankumous koettiin kuitenkin vasta 2000-luvun vaihteessa (Römisch, 2009, s. 5 6). Erityisesti polygonimaailman reaaliaikainen esittäminen kolmiulotteisena helpottui laitteistokiihdytyksen myötä ja tänä päivänä polygonipiirto onkin, kuten jo aiemmin mainittiin, yleisin tapa esittää peligrafiikkaa. Väliin mahtuu kuitenkin muutamia nimekkäitä vokselipiirtoa käyttäviä tietokonepelejä. Kuvio 3. Comanche pelin vokselimaastoa. Ensimmäinen vokselitekniikkaa käyttävä lentosimulaattori oli vuonna 1992 ilmestynyt Comanche, joka myöhempien jatko-osiensa tavoin hyödynsi vokseleita pelin 4 engl. kd-tree, octree 5 engl. sparse voxel octree 6
11 maaston piirtämiseksi (Reilly, 2011, s. 7). Vokselit mahdollistivat tuolloin nopeamman ja yksityiskohtaisemman tavan piirtää kolmiulotteista grafiikkaa kuin polygonipiirto (Paul ym., 2012). Comanchen piirtämä maasto (kuvio 3) on hyvä esimerkki vokseleiden alkeellisesta piirtotavasta, jossa yksittäiset vokselit piirrettiin kaksiulotteisina kappaleina (Reilly, 2011, s. 7). Kuvio 4. Delta Force 2:n vokselimaastoa ja polygonihahmoja. Myöhemmin ilmestyneet Outcast (1999), Delta Force (1998) ja sen jatko-osa Delta Force 2 (1999) käyttivät myös vokseleita maastonsa piirtämiseen, hyödyntäen kuitenkin samalla pelihahmojen ja rakennusten piirtämisessä polygoneja (Fletcher, 2001). On myös helppo havaita, kuinka esimerkiksi ensimmäiseen Comanche-peliin verrattuna Delta Force 2:n maaston vokselit ovat jo selkeästi pienempiä ja huomaamattomampia (kuvio 4). Vokselimaaston eduista kertoo se, kuinka Delta Force 2:n pelikentistä oli mahdollista saada yhä nykymittapuullakin katsottuna valtavan kokoisia ja niissä oli lähes rajaton piirtoetäisyys (Reilly, 2011, s. 7). Tämä mahdollisti hyvät asetelmat sotapelille, jossa pitkien etäisyyksien välinen tarkka-ampuminen oli tärkeässä roolissa. Muita tunnettuja vokselipiirtoa käyttäviä julkaisuja ovat olleet mm. Blade Runner (1997), Command & Conquer: Tiberian Sun (1999) ja Command & Conquer: Red 7
12 Alert 2 (2000). Näissä peleissä vokseleilla ei tosin piirretty maastoa, vaan esimerkiksi Blade Runner loi vokseleiden avulla pelihahmot ja joitain esineitä, mutta käytti kuitenkin yhä polygonipiirtoa ympäristön esitykseen. (Reilly, 2011, s. 7.) Jos tarkastelemme tuon ajanjakson tunnetuimpia, puhtaasti polygonipohjaisia tietokonepelejä, nousevat esiin erityisesti julkaisut kuten: Quake (1996), Quake II (1997), Half-Life (1998), Unreal (1998) ja Quake III (1999) (Paul ym., 2012). Nämä ovat pelialan tunnetuimpia klassikoita, ja ne ovat luultavasti osaltaan vaikuttaneet polygonipiirron suosioon sekä pelimoottoreiden ja laitteiston teknisiin suuntauksiin. Vokseleiden käyttö peleissä näyttääkin hiljentyneen selvästi vuosituhannen vaihteen jälkeen. On mahdollista, että vokseleita on käytetty pelikenttien luolien ja kielekkeiden muodostamiseen polygonipeleissä, mutta pelimoottoreiden yksityiskohtaisia ominaisuuksia on tämän tutkielman puitteissa kuitenkin liian työlästä selvittää. Vokseleiden käyttömahdollisuuksiin luonnonmuotojen muodostamiseksi palaamme uudestaan luvussa 3.2. Kuvio 5. Kuvankaappaus avoimen lähdekoodin Minetest-pelistä. 8
13 Tänä päivänä vokselit ovat luultavasti näkyvimmillään Indie 6 -pelijulkaisuissa kuten Minecraft. Minecraftissa vokseleita edustavat suuret teksturoidut kuutiot, jotka tekevät Minecraftin maastosta persoonallisen kuutiomaisen. Minecraftin suosio on ollut huomattavaa 7, ja se onkin tiettävästi osaltaan synnyttänyt kokonaisen genren pelejä, joissa peliympäristö koostetaan huomattavan suurikokoisista kuutioista (kuvio 5). Tämän retromaisen ilmeen hakeminen peleihin voi toisaalta olla vain yleisesti pienten pelijulkaisujen suuntaus, eikä välttämättä itsessään Minecraftin aikaansaannosta. Teknisestä näkökulmasta katsottuna nämä pelit näyttävät toistaiseksi perustuvan edelleen lähes yksinomaan epäsuoraan vokselipiirtoon eivätkä säteenseurantaan. 6 itsenäiset pelikehittäjät, jotka toimivat ilman julkaisijan taloudellista tukea 7 kirjoitushetkellä 13 miljoonaa myytyä kappaletta 9
14 3 Vokseleiden ominaisuudet Polygoneihin verrattuna vokselit ovat hyvin erilainen tapa esittää kolmiulotteisia objekteja. Tämä esitystapa tuo kuitenkin mukanaan mahdollisuuksia jotka saattavat tietokonepelien näkökulmasta olla hyvinkin hyödyllisiä. Seuraavissa alaluvuissa käydään läpi osa vokselitekniikan ominaisuuksista. 3.1 Dynaamisuus Luvussa 1 viitattiin jo pikaisesti vokseleiden mahdollisuuksiin luoda dynaaminen peliympäristö. Pelaamisen näkökulmasta tämä olisi erittäin käytännöllinen ominaisuus, sillä tietokonepelien sisältämä maailma on vuosien saatossa pysynyt pelaajan näkökulmasta valtaosin staattisena (Kolehmainen, 2008, s. 1). Esimerkiksi sotapeleissä maasto säilyttää suurissakin räjähdyksissä aina muotonsa, vaikka pelaajan oletus ja tavoite voisi olla toinen. Pelaajan vuorovaikutus pelimaailman kanssa onkin kytkeytynyt yleensä lähinnä muiden pelihahmojen ja erillisten kappaleiden välille. Minecraft-pelin suosio kuitenkin osoittaa kuinka peliympäristön muunneltavuus ja mahdollisuus luoda jotain kokonaan uutta, kiinnostavat monia pelaajia. Perinteiseen polygonipiirtoon pohjautuvien pelien muuttaminen dynaamisiksi ei kuitenkaan ole aivan itsestäänselvyys. Esimerkiksi reikien luominen polygonipintoihin on monimutkainen prosessi, joka vaatii pinnan kolmioiden osittamista, pinnan alla olevan geometrian luomista sekä tekstuureiden uudelleenmäärittämistä. Vastaavasti vokselitekniikassa riittää vain poistaa kyseiset yksittäiset vokselit. (Reilly, 2011, s. 5 6.) Tällä tavoin pelin räjähdyksiä simuloitaessa voitaisiin yksinkertaisesti poistaa räjähdyksen keskipisteestä tietyllä etäisyydellä olevat vokselit, ja saada näin aikaan kuoppia sekä reikiä peliympäristöön. Tutkielmassaan Kolehmainen (2008) on kokeellisesti tutkinut ohjelmoimansa grafiikkamoottorin avulla vokseleiden soveltuvuutta mukautuvan, monimutkaisiakin luonnonmuotoja sisältävän ympäristön toteutukseen. Tarkoituksena on vastata kysymykseen: voidaanko vokseleilla saada aikaan reaaliaikainen, muunneltava 3D- 10
15 ympäristö jota voitaisiin hyödyntää esimerkiksi peleissä. Tutkimuksessa vokselipohjaista ympäristöä on muokattu reaaliaikaisesti ja muunnokset on käännetty polygoneiksi piirtämisen nopeuttamiseksi. Huomioitavaa on, että tutkielman kirjoitusaikana vokseleiden piirtäminen säteenseurannan avulla ei ollut vielä käyttökelpoinen menetelmä, ja lisäksi tutkielmassa ei ole käytetty nimenomaisesti harvaa kasipuuta. Tuloksissa on kuitenkin päädytty toteamaan että reaaliaikainen, dynaaminen ympäristö on täysin toteutettavissa, joskin hidastumista havaittiin ilmenevän vokselitiheyden kasvaessa. Hidastumisen arvellaan viittaavan mitä ilmeisemmin juuri muistinkäytön ongelmiin, jotka johtunevat tuon ajan tallennusratkaisujen riittämättömyydestä. Ottamalla huomioon Kolehmaisen (2008) tutkielman toteutusratkaisujen osittaisen vanhentumisen, voitaneen olettaa että uusimmilla menetelmillä reaaliaikainen dynaaminen vokseliympäristö saattaisi olla täysin toteutuskelpoinen jopa pelikäyttöä ajatellen. 3.2 Kuvanveisto ja luonnonmuodot Kuvanveistolla tarkoitetaan tässä yhteydessä kolmiulotteisen muodon muokkaamista joko lisäämällä, tai poistamalla mallinnettavasta kappaleesta materiaalia. Tietokoneilla 3D-mallien savimainen muotoilu voi olla monesti luontaisempi ja helpompi tapa luoda peleihin esimerkiksi maastoa, kuin rautalankamainen lähestymistapa jossa keskitytään muuttamaan lähinnä mallien kärkipisteitä. Dynaamisuutensa ja kappaleiden sisäosien esitystavan ansiosta vokselit soveltuvatkin juuri kolmiulotteisten objektien veistoon erittäin hyvin (Crassin, 2011, s ). Vokselimalleja on mahdollista veistää erimuotoisten työkalujen avulla, jolloin kappaleisiin on helppo tehdä realistisia kuvioita (Kolehmainen, 2008, s ). Kuvanveistosta on suurta hyötyä erityisesti tietokonepelien maastoa mallinnettaessa. Perinteisesti laajoja kolmiulotteisia ulkoalueita esitettäessä polygonipohjainen maasto luodaan usein nk. syvyyskarttojen 1 avulla, joiden etuna on erityisesti yk- 1 engl. heightmap 11
16 sinkertainen tallennusratkaisu. Kaksiulotteisen esitystavan takia niiden ongelmaksi muodostuu kuitenkin kyvyttömyys luoda luolia, kielekkeitä tai muita vastaavia luonnonmuotoja. Vokselit ovat veistomahdollisuuksien ja kolmiulotteisen tallennusratkaisun myötä yksi vaihtoehtoinen tapa tuottaa maastoa peleihin ilman näitä rajoitteita (kuvio 6). (Goosen & Gain, 2013, s. 14.) Crytek-pelimoottorin maastoeditori hyödyntääkin jo vokseleita luonnonmuodostelmien tekemiseen (Reilly, 2011, s. 5). Kuvio 6. Vokselimaasto mahdollistaa luonnonmuodostelmat. 3.3 Fysiikka Nykypäivänä lähes kaikki tietokonepelit tarvitsevat fysiikan simulointia, ja vokseliympäristön fysiikan mallinnus on siten pelien kannalta erityisen tärkeä aihe. Vokseleiden partikkelimainen olemus vaikuttaa hyvin otolliselta kohteelta juuri fysiikan laskentaan. Valitettavasti kuitenkin tämän tutkielman kirjoitushetkellä näyttää 12
17 siltä, ettei vokseleiden fysiikkamallinnuksesta ole tehty juuri lainkaan tutkimusta. Voimmekin siis vain tehdä arvauksia fysiikan simuloinnista vokseleiden avulla. Römischin (2009, s. 31) mukaan puumaisia tallennusratkaisuja voidaan käyttää säteenseurannan ohella erityisen hyvin myös törmäysten laskentaan, mikä tarkoittaa että samaa tallennusratkaisua voitaisiin käyttää sellaisenaan fysiikan mallinnukseen. Tämä olisi varsinkin muistinkäytön kannalta erityisen tehokas ratkaisu. Bautembach (2011, s. 21) on samoilla linjoilla yhden ja saman tietorakenteen tuomien mahdollisuuksien kanssa, mutta herättelee kuitenkin kysymyksiä siitä, onko toimivan fysiikkamallinnuksen toteuttaminen nimenomaisesti dynaamiseen vokseliympäristöön reaaliajassa edes mahdollista. 3.4 Erikoisefektit Erikoisefekteillä on tietokonepeleissä erityisen tärkeä rooli, sillä pelit hyödyntävät yleensä laajasti erilaisia räjähdyksiä, savua, vesipisaroita ja muita visuaalisia ominaisuuksia. Useimmat näistä efekteistä ovat luonnostaan hyvin partikkelinomaisia ja soveltuvat siten huonosti polygoneilla toteutettavaksi. Tietokonepeleissä päädytäänkin yleensä kömpelöihin, pelaajaa visuaalisesti huijaaviin ratkaisuihin efektien simuloinnissa. (Crassin, 2011, s. 27.) Efektit ovat usein esitetty kaksiulotteisina kuvina jotka on pyritty sovittamaan kolmiulotteiseen ympäristöön, suhteellisen huonolla menestyksellä. Esimerkiksi peleissä savu usein leikkaa näkyvästi muita objekteja kuten seiniä, ja näyttää siten ympäristöön kuulumattomalta irralliselta kokonaisuudelta. (Reilly, 2011, s. 7.) Elokuvateollisuudessa vokseleita sen sijaan käytetään jo erikoisefektien esittämiseksi, sillä ne mahdollistavat hyvin luontaisen ja tehokkaan tavan tehdä partikkeliefektejä. Crassinin (2011, s. 27) mukaan elokuviin tehdyt efektit ovat kuitenkin usein valtavan yksityiskohtaisia ja siten reaaliaikaista esitystä silmällä pitäen täysin mahdottomia toteuttaa. Valitettavasti tätä tutkielmaa varten ei löytynyt sellaista lähdekirjallisuutta joka olisi seikkaperäisesti selvittänyt sen, minkä tasoiset efektit tietokonepelien näkökulmasta olisivat nykyisellä vokselitekniikalla mahdollista reaalia- 13
18 jassa toteuttaa. Elokuvien ohella tietokonepeleissä on kuitenkin jo käytetty vokseleita kaasumaisten efektien tekemiseen (Crassin, 2011, s. 33). Siitä, kuinka hyvin ne suoriutuvat tehtävästään ei löytynyt tarkempaa tietoa. Laine ja Karras (2011) ovat luoneet oman reaaliaikaiseen esitykseen kykenevän vokselimoottorin, ja uskovat sen kykenevän tuottamaan sumua sekä muita vastaavia erikoisefektejä ongelmitta. Näyttää siis siltä että vain laskentateho voi olla vokseleilla toteutettujen erikoisefektien täysimittaisen käytön esteenä tietokonepeleissä, mutta tämä ongelma poistunee väistämättä ennen pitkää tietotekniikan yhä kehittyessä. 3.5 Tekoäly Vokseleiden esitystavasta voi olla hyötyä myös pelien tekoälyn kannalta. Wardhana, Johan ja Seah (2013) esittelevät kolmiulotteisen ympäristön reitinhakumenetelmän, jossa polygoniympäristöstä luodaan karkea vokseliesitys reitinhaun laskentaa varten. On epäselvää, kuinka hyvin vastaava toteutus toimisi nimenomaan jo valmiiksi puurakenteisesti määritellyssä vokseliympäristössä, mutta tutkielma antaa kuitenkin viitteitä siitä, että reitinhakualgoritmien toteuttaminen vokseliympäristöön ei luultavasti ole erityisen mahdoton tehtävä. Voi myös olla että vokseliympäristö on reitinhakualgoritmejä varten jopa polygoniympäristöä tehokkaampi. Tämä olisi tietokonepelien näkökulmasta hyvin positiivinen asia, sillä peleissä käytetään paljon reaaliaikaisia reitinhakualgoritmejä. 14
19 4 Vokseleita ja polygoneja Esittelimme luvussa 2 vokselitekniikan ydinasiat ja totesimme, että säteenseuranta ja erilaiset puurakenteet ovat vokseliympäristön esittämisen kannalta merkittävimmät tekniset ratkaisut. Vertailemmekin tässä luvussa erityisesti näitä tekniikoita polygonipiirtoon, jotta voimme arvioida kuinka nämä menetelmät soveltuvat tietokonepelien käyttöön ja mitä mahdollisia etuja niillä on. Huolimatta polygonigrafiikan merkittävästä suosiosta ja kehityksestä, on odotettavissa että polygonien rasteroinnissa saatetaan törmätä ennen pitkää ongelmiin. Yksi syy tähän on, että tietokonepelien tarve piirtää tarkempia ja monimutkaisempia malleja lisääntyy nopeammin kuin uusien näytönohjainten laskentateho. Tämä on ongelmallista juuri polygonipiirron kannalta, sillä piirtoon sisältyvien polygonien määrä on usein suoraan verrannollinen piirron nopeuteen. (Crassin, 2011, s ) Syy polygonipiirron lineaariseen riippuvuuteen ajan suhteen piilee siinä, että kaikki katselusuunnassa olevat polygonit on käytävä läpi jotta on mahdollista piirtää ensisijaisesti vain ne, jotka ovat päällimmäisinä tai ylipäätään edes katsojan havaittavissa (Crassin, 2011, s. 53). Ongelmaan on pyritty löytämään ratkaisuja esimerkiksi jakamalla ympäristö osiin siten, että vain pieni osa kokonaisuudesta on tarpeen läpikäydä piirtämistä varten. Tietokonepeleissä voidaan siis osittaa vaikkapa sisätilojen graafiset mallit huoneiden perusteella. Tällainen näkyvien pintojen osittaminen on kuitenkin reaaliajassa laskettuna työlästä, eikä se siten sovellu mm. dynaamiseen peliympäristöön. (Kolehmainen, 2008, s. 6.) Vokselitekniikka voi itsessään ratkaista edellä mainitun ongelman, sillä se tarjoaa helposti skaalautuvan piirtotavan, jonka avulla on mahdollista piirtää lähes äärettömän tarkkaa grafiikkaa piirron hidastumatta. Vokselipiirron teoreettisessa ihannetilanteessa ainoastaan ruudulla näkyvät vokselit jouduttaisiin lukemaan muistista, jolloin piirtonopeus säilyy ympäristön monimutkaisuudesta huolimatta aina vakiona (Crassin, 2011, s ). Se, kuinka tämä on mahdollista, liittyy erityisesti tarkkuustasoihin ja säteenseurantaan. Näitä tarkastellaan seuraavaksi. 15
20 4.1 Tarkkuustasot Yksi polygonipiirron ongelmista liittyy tarkkuustasoihin 1. Tarkkuustasoilla tarkoitetaan piirrettävän 3D-mallin yksinkertaistamista siten, että malli säilyttää ulkomuotonsa kauempaa katsottaessa, mutta sisältää kuitenkin merkittävästi vähemmän yksityiskohtia ja on näin ollen nopeampi piirtää. (Crassin, 2011, s ) Tarkkuustasojen hyödyntäminen on välttämätöntä, sillä tuhansia kärkipisteitä sisältävien mallien piirtäminen vain muutaman pikselin suuruisina ruudulle olisi laskennallisesti täysin turhaa työtä. Tietokonepeleihin graafikot määrittelevät eri etäisyyksille tarkoitetut tarkkuustasot yleensä käsin, sillä tarkkuustasojen automaattinen luonti uskottavan näköisinä on vaikeaa (Crassin, 2011, s. 18). Tämä tietenkin väistämättä lisää sekä graafikoiden työmäärää että ohjelman muistinkulutusta. Vokseleiden puurakenteinen esitystapa sen sijaan helpottaa näitä ongelmia, sillä puurakenteissa vokselit ovat jo valmiiksi järjestettyinä tarkkuustasoittain, jolloin piirtoalgoritmi voi itse päättää kuinka yksityiskohtainen malli piirretään (Bautembach, 2011, s. 8 9). Esimerkiksi kasipuussa koko vokseliympäristön data jaetaan kahdeksaan osaan, jotka jaetaan edelleen rekursiivisesti kahdeksaan osaan, kunnes lopulta saavutetaan yksittäiset vokselit. Jokainen puurakenteen haara sisältää alipuidensa vokseleiden keskiarvon, jolloin kauempaa katsottaessa haarapuun vokseli näyttää piirrettynä samalta kuin kaikki alipuiden vokselit. Piirtoalgoritmi siis lukee vokselitietoa puusta ja yksinkertaisesti lopettaa puun läpikäymisen, kun se on saavuttanut riittävän pienet vokselit piirtämistä varten (esimerkiksi ruudun pikselin koko). Tällä tavoin on mahdollista saavuttaa graafinen tarkkuus, jota rajoittaa vain muistinmäärä. (Bautembach, 2011, s. 8 9.) (Crassinin, 2011, s ) tutkimuksessa vokselitekniikan tarkkuustasoilla saavutettu hyöty tulee selvästi ilmi. Tutkimuksessa on verrattu kahden, visuaaliselta ulkonäöltään vastaavan ympäristön piirtonopeutta polygonirasteroinnin ja vokselipiirron välillä. Polygoneja varten ei ollut määritelty erikseen tarkkuustasoja, jolloin 1 engl. level of detail (LOD) 16
21 eri etäisyyksiltä katsottuna polygonipiirron nopeus pysyi lähes samana. Vokselipiirrossa taas hyödynnettiin puurakenteisen esitystavan luonnostaan tuomaa mahdollisuutta tarkkuustasoille. Piirtoetäisyyttä kasvatettaessa vokselipiirron todettiin nopeutuvan parhaimmillaan jopa 41 kertaiseksi polygonipiirtoon nähden, mikä kuvastaa hyvin tarkkuustasojen tärkeyttä ja saavutettua hyötyä. 4.2 Säteenseuranta Sekä Crassin (2011, s. 52) että Laine ja Karras (2010, s. 14) ovat yksimielisiä siitä, että säteenseuranta on nopein mahdollinen tapa esittää vokseleita. Säteenseurantaa pystyttiin aiemmin tekemään ainoastaan keskusyksikön prosessorin (CPU) avulla. Graafisen laskennan siirtyminen näytönohjaimen prosessorille (GPU) ja moniydinprosessoreiden yleistyminen ovat mahdollistaneet säteenseurannan käyttämisen myös interaktiivisissa sovelluksissa. (Reilly, 2011, s ) On myös selvää, että säteenseurannan laskenta on suoritettava jatkossakin nimenomaan näytönohjaimen prosessorilla (Reilly, 2011, s. 52). Säteenseurantaa voidaan käyttää vokseleiden ohella myös polygonien piirtämiseen, jolloin vokseliympäristöä ja polygonimalleja on mahdollista piirtää samalla piirtomenetelmällä (Römisch, 2009, s ). Tässä tutkielmassa emme kuitenkaan ota tämän enempää kantaa polygonien piirtoon säteenseurannan avulla. Säteenseurannan erityisenä etuna on sen mahdollisuus rinnakkaislaskentaan, jolloin jokainen kuvaruudulla näkyvä pikseli on mahdollista piirtää erillisellä prosessorin säikeellä. Lisäksi säteenseuranta soveltuu luontaisen valonseurannan myötä erityisen hyvin realististen valaistusten, varjojen ja heijastumien piirtoon. Sitä käytetäänkin mm. 3D-mallinnusohjelmistoissa äärimmäisen realististen, yksittäisten kuvien renderointiin. (Römisch, 2009, s ) Ottaen huomioon säteenseurannalla saavutetut hyödyt on oletettavaa että se tulee olemaan tulevaisuudessa yhä suositumpi piirtotapa myös muihin tarkoituksiin (Reilly, 2011, s ). Yksi tärkeimmistä kysymyksistä vokseleiden kannalta tietokonepelejä ajatellen on piirtämisen nopeus. Interaktiivisten sovellusten tavoiteltu piirtonopeus on noin 60 17
22 85 ruutua sekunnissa (Akenine-Möller, Haines & Hoffman, 2008, s. 645). Peleissä usein kuitenkin tyydytään esimerkiksi 30 ruutuun sekunnissa, sillä visuaalista ulkoasua pidetään usein nopeuden lisäystä tärkeämpänä (Reilly, 2011, s. 65). Mikäli piirtonopeus putoaa huomattavan alhaiseksi, saattaa se vaikeuttaa jo itse pelin pelattavuutta. Jos tarkastelisimme piirtämiseen käytetyn laskennan määrää teoreettisesti, voisimme todeta säteenseurannan olevan väistämättä nopeampi tapa piirtää grafiikkaa kuin rasterointi. Tämä johtuu luvun 4 alussa esitetystä ideasta, että vokselitekniikassa on tarpeen läpikäydä ainoastaan ruudulla näkyvä vokselidata. Jos siis olettaisimme yhden ruudulla näkyvän pikselin vastaavan yhtä vokselia, säilyisi piirtoon käytetyn laskennan määrä vakiona, riippumatta piirrettävän ympäristön monimutkaisuudesta, sillä enempää vokselitietoa ei yksinkertaisesti olisi tarpeen ottaa laskentaan mukaan. (Römisch, 2009, s ) Käytännössä asia ei kuitenkaan ole aivan näin yksinkertaista; sillä vaikka vokselipiirto näyttäisikin ennen pitkää voittavan polygonipiirron suurilla datamäärillä, häviää se yhä nykypäivänä vähemmän yksityiskohtia sisältävissä piirroissa. Syynä tähän on säteenseurannan vaatima peruslaskennan määrä, joka vähemmän yksityiskohtaisissa ympäristöissä hidastaa piirtoa merkittävästi. (Römisch, 2009, s ) Tästä huolimatta vokselipiirto alkaa kuitenkin lähestyä suorituskyvyltään polygonirasteroinnin tasoa. Todella monimutkaiset ympäristöt voidaan nimittäin Laine ja Karras (2010, s. 4) mukaan luultavasti piirtää jo nyt nopeammin vokseleiden säteenseurannalla kuin perinteisellä polygonipiirrolla. Yksi mielenkiintoisimmista vokselipohjaisista graafisista toteutuksista on Crassinin (2011) GigaVoxels-grafiikkamoottori, joka kykenee piirtämään säteenseurannan avulla parhaimmillaan miljardeja vokseleita sisältävää ympäristöä reaaliajassa. Myös Laine ja Karras (2010) ovat toteuttaneet säteenseurantapohjaisen vokselimoottorin, joka on vertailukelpoinen polygonipohjaiseen toteutukseen, joskaan ei aivan yhtä suorituskykyinen. 18
23 Nämä kaksi edellä mainittua tutkimusta todistavat osaltaan että vokseleiden säteenseurantaa on mahdollista toteuttaa reaaliajassa, mutta se ei vielä välttämättä kaikissa tilanteissa yllä aivan polygonien tasolle. Molempien grafiikkamoottoreiden esittämät ympäristöt saavuttavat kuitenkin pääsääntöisesti nopeudessaan vähintään 25 ruutua sekunnissa. Tietokonepelien näkökulmasta tämä tarkoittaa että vokselit saattavat olla joihinkin peleihin varteenotettava graafinen esitystapa, varsinkin kun otetaan huomion sillä saavutetut hyödyt esimerkiksi valaistusten ja varjojen luonnissa. Mikäli peliympäristöjen yksityiskohtaisuus lisääntyisi tulevaisuudessa merkittävästi, voisi vokselipiirto olla jopa nopein mahdollinen esitystapa. 4.3 Animaatio Vokseleiden tallettamiseen käytettävät normaalit puurakenteet eivät sellaisenaan sovellu animointiin. Puurakenteisena määritellyn vokselimallin animointi tarkoittaisi käytännössä kokonaan uuden puun määrittelemistä jokaista mallin asentoa varten. Tämä olisi valtavan muistinkäytön myötä käytännössä mahdoton ratkaisu. (Reilly, 2011, s. 32.) Animaatiota kuitenkin tarvitaan peliympäristöissä pelihahmojen ohella maaston objektien kuten kasvillisuuden liikkeen simuloimiseksi. Ongelmaan on pyritty löytämään ratkaisuja yksinkertaisesti vain lisäämällä vokseleiden puurakenteisiin erilaisia lisäominaisuuksia. Bautembach (2011) esittelee nk. animoidun hajautetun kasipuun 2, jonka avulla on mahdollista animoida puurakenteita käsittelemällä juurihaaroja kokonaan erillisinä kokonaisuuksina. Testiympäristössä suoritettu animaation testaus on onnistuttu tekemään reaaliajassa kohtuullisen suurikokoisella vokselimallilla. Ongelmaksi muodostuu kuitenkin animoidun puurakenteen soveltumattomuus sellaisenaan säteenseurantaan ja tutkielmassa käytetäänkin siten epäsuoraa vokselipiirtoa. Lisäksi haarapuiden käsitteleminen on eräänlainen jäykkä ratkaisu, joka soveltuu ainoastaan ennalta talletettujen animaatioiden esittämiseen, eikä esimerkiksi fysikaalisten ilmiöiden mallintamiseen (Reilly, 2011, s. 20). 2 engl. animated sparse voxel octree 19
24 Myös Reilly (2011) on tutkinut kasipuiden animointia ja päätynyt kokeilemaan moniydinlaskennan avulla toteutettavaa progressiivista puurakenteen animointia. Menetelmässä luodaan uusia puurakenteita reaaliaikaisesti ja ne mahdollistavat myös fysikaaliset laskennan vokselimalleille. Animoinnin nopeus ei kuitenkaan ole suurille vokselimäärille käyttökelpoinen, eikä menetelmää ole testattu tietokonepeleissä. Edellä esitetyt tutkimukset edustavat osaltaan vokselitekniikan valitettavasti yhtä vaikeinta ja kriittisintä ongelmaa. Tätä tutkielmaa kirjoitettaessa ei löytynyt juurikaan merkittäviä ratkaisuja vokseleiden animointiin, ja animaation puute onkin siten pelien kannalta koko vokselitekniikan yksi rajoittavimmista tekijöistä. 4.4 Muistinkäyttö Vokseleiden vaatima suuri muistinmäärä oli yksi päällimmäisistä syistä miksi polygonipiirto päätyi aikoinaan kolmiulotteisen grafiikan yleisimmäksi esitystekniikaksi (Crassin, 2011, s. 33). Sittemmin tietokoneiden muistikapasiteetti on kasvanut nopeasti, mukaan lukien näytönohjainten oma muistitila. Tästä huolimatta muistinkäyttö on vokselitekniikassa yhä keskeinen ongelma. Esitystapansa ansiosta polygonit ovat vokseleita huomattavasti tehokkaampi tapa tasaisten pintojen esittämiseen, sillä jo muutamalla kolmiolla on mahdollista peittää suuriakin alueita. Bautembachin (2011, s. 8) mukaan tämä onkin yksi syy miksi polygoneja tulisi pystyä käyttämään aina vokseleiden rinnalla. Toisaalta peligrafiikan visuaalinen suuntaus on vahvasti menossa realismin suuntaan, mikä tarkoittaa että tasaisille pinnoille on joka tapauksessa lisättävä jollain tapaa geometrista syvyyttä, mikä lisää vastedes muistinkulutusta myös yksinkertaisilla polygonipinnoilla (Laine & Karras, 2011). Toinen polygonitekniikan etu muistinkäytön suhteen on sen mahdollisuus käyttää samoja tekstuureita useampia malleja varten. Samoja bittikarttakuvia käytetäänkin usein esimerkiksi maaston teksturoinnissa. Ongelmaksi muodostuu kuitenkin usein tekstuurien selkeä toistuvuus joka saa maaston näyttämään hyvin epärealistiselta. 20
25 Tähän ongelmaan on kehitetty eräänlaisia megateksturointi-menetelmiä, jotka luovat valtavan suuria tekstuureita maastoa varten, saaden näin poistettua näkyvän toistuvuuden. Tällainen menettely kuitenkin kasvattaa merkittävästi muistinkäyttöä, ja onkin aiheellista kysyä olisiko vokseleiden tapa tallettaa geometria ja väritieto samaan tietorakenteeseen sittenkin parempi ratkaisu. (Laine & Karras, 2011) Laine ja Karras (2010, s. 2 4) mukaan vokselimallit vaativat karkeasti arvioiden 3.33 kertaa enemmän muistia kuin polygonimallit jos vertaamme pelkästään pintojen mallintamista. Tämä voi osoittautua ongelmalliseksi, sillä nopeuden kannalta näytönohjainten muisti olisi paras paikka vokselidatalle, mutta sen määrä on kuitenkin selvästi keskusmuistia rajallisempi (Crassin, 2011, s. 31). Vokselidataa ei ole kuitenkaan välttämättä tarpeen mahduttaa kokonaisuudessaan näytönohjaimen muistiin. Sekä Laine ja Karras (2010) että Crassin (2011) esittelevät ratkaisuja, joilla osa datasta voitaisiin säilyttää keskusmuistissa ja hakea sieltä vain tarpeen tullen. Nykypäivän teknologia mahdollistaa kyllä jo laskennallisesti vokseleiden tallennusratkaisujen käytön reaaliaikaisissa sovelluksissa, mutta todella yksityiskohtaisten mallien mahduttaminen ylipäätään muistiin on yhä ongelma. Yksi mahdollinen ratkaisu saattaisi olla siirtyminen vokseleiden häviölliseen pakkaustapaan joka tällöin helpottaisi muistintarvetta. (Laine & Karras, 2011) Huolimatta vokseleiden tallennusratkaisujen pakkaustavoista ja keskusmuistin hyödyntämisestä, nämä ratkaisut eivät saata olla itsessään vielä riittäviä. Crassinin (2011, s. 32) mukaan nimittäin tietokoneiden laskentateho kasvaa merkittävästi muistin kaistanleveyttä nopeammin. Tämä tarkoittaa sitä, että vokselidatan hakeminen tarpeen tullen esimerkiksi keskusmuistista näytönohjaimelle merkitsee tulevaisuuden näkökulmasta yhä suurempaa pullonkaulaa piirron nopeudelle. Muistinkäytön ongelmat vaativatkin yhä merkittävästi lisätutkimusta, jotta vokseleita voitaisiin hyödyntää todella yksityiskohtaisten ympäristöjen mallintamiseen. 21
26 4.5 Työkalut Tietokonepelit tehdään usein valmiita pelimoottoreita hyväksikäyttäen ja jotta vokselitekniikan olisi mahdollista yleistyä peleissä, tarvitaan myös asiaankuuluvia työkaluja maastojen ja pelihahmojen mahdollistamiseksi. Tällä hetkellä kuitenkin näyttää siltä, ettei vokselitekniikan käyttöönottamiseksi ole juuri minkäänlaisia valmiita ratkaisuja. Poikkeuksena voitaneen mainita muutamat avoimen lähdekoodin vokselimoottorit, mutta niiden keskeneräisyys asettanee pelien tekemiseen omat haasteensa. Useimmat kolmiulotteiset mallinnusohjelmat eivät osaa käsitellä vokseleita, eikä niiden avulla ole siten mahdollista juurikaan luoda pelikäyttöisiä vokseliobjekteja. Syynä tähän on tietenkin keskeisten vokselitekniikoiden, kuten standardoidun puumallin puuttuminen. Vokselipelien valmistus täytyy ainakin siis vielä toistaiseksi aloittaa lähes puhtaalta pöydältä. 22
27 5 Tulevaisuus Tietokonepeleissä on tunnetusti jatkuva tarve saada aikaiseksi näyttävämpää ja realistisempaa grafiikkaa, sillä pelien visuaalinen ulkoasu on pelialalla merkittävä myyntivaltti. Jotta voisimme sanoa jotain vokselitekniikan tulevaisuudennäkymistä on meillä oltava jokin ennuste tietokonepelien tulevaisuuden vaatimuksista. Onko kuitenkaan mahdollista ennustaa mihin suuntaan, tai millaista grafiikkaa tulevaisuuden tietokonepeleiltä voimme ylipäätään odottaa? Akenine-Möller ym. (2008, s ) lähestyvät tätä graafisen tason kysymystä vertaamalla tietokonepelien ulkoasua animaatioelokuvaan Ratatouille. Ottamalla huomioon Mooren lain ja tietotekniikan kehityksen pullonkaulat (erityisesti kaistanleveys), teoksessa on päädytty arvaamaan tietokonepelien pystyvän tuottamaan Ratatouillen tasoista interaktiivista grafiikkaa vuonna Mielenkiintoinen seikka on, että tässä ennustuksessa toiveet säteenseurannan kehitykselle ovat korkealla nimenomaisesti moniajomahdollisuuksien takia. Myös John Carmack (2011) uskoo säteenseurannan olevan graafisen piirron kannalta hyvin ratkaiseva tekniikka ja voittavan ennen pitkää perinteisen polygonipiirron. Odotukset säteenseurannan tulevaisuudelta ovat tärkeitä havaintoja, sillä luvussa 4.2 totesimme sen olevan vokselipiirron kannalta kriittinen tekniikka. Täytyy kuitenkin muistaa, että myös polygonigrafiikkaa voidaan piirtää säteenseurannalla, eikä säteenseurannan suosio siten itsessään vielä kerro varsinaisesti vokseleiden tulevaisuudesta mitään. Carmack (2011) uskookin, etteivät vokselit kaikista eduistaan huolimatta tule välttämättä nousemaan pelien ensisijaiseksi esitystekniikaksi. Polygonitekniikalla on takanaan menestyksekäs ja pitkä historia, jota vahvistaa laaja valikoima työkaluja ja erilaisia toteutusratkaisuja. Nämä epäilemättä mahdollistavat polygonigrafiikan nopean kehityksen myös jatkossa. Erityisesti kolmiulotteiseen mallinnukseen käytettyjen työkalujen tärkeyttä ei voi vähätellä, ja Laine ja Karras (2010, s. 4) tiivistävätkin asian toteamalla, että se tekniikka tulee olemaan lopulta suositumpi, joka kykenee vastaamaan parhaiten käytännön tarpeisiin. 23
28 On kuitenkin hyvä huomata, ettei tietokonepelien kehitys ole riippuvainen ainoastaan graafisesta tasosta. Luvussa 3.1 toimme jo esille kuinka tärkeää peliympäristön dynaamisuus ja vuorovaikutus pelaajan kanssa voi olla. Emme voi tietenkään olettaa tämän olevan väistämättömän tarpeellista jokaisessa tietokonepelissä, mutta jos kuitenkin oletamme esimerkiksi sotapelien säilyttävän suosionsa, voimme päätellä suuren tarpeen dynaamiselle peliympäristölle myös tulevaisuudessa. Vokseleiden avulla tällaisen dynaamisen ympäristön toteuttaminen voi olla polygoneihin verrattuna ratkaisevasti helpompaa. Ilman modernien vokselipelien esimerkkiä on vaikea antaa tarkkaa kuvaa tulevaisuuden suuntauksesta. Vokselitekniikan tulevaisuus riippuu myös paljolti siihen kytkeytyvän tutkimuksen ja teknisen laitteiston lopullisesta kehityksestä. Lähitulevaisuuden vokselipelit tulevat kertomaan luultavasti jo jotain vokseleiden tulevaisuudesta ja niiden mahdollisuuksista tietokonepeleissä. Toistaiseksi monet vokselipelijulkaisuista näyttävät seuraavan lähinnä Minecraftin asettamia jalanjälkiä, mutta yksi poikkeuksista on vuonna 2014 ilmestyvä EverQuest Next verkkoroolipeli, jonka kerrotaan käyttävän vokseleita tuhoutuvan peliympäristön luomiseen (Klug, 2013). Toinen lupaava toteutus on Atomontage 1 -pelimoottori jonka luvataan mahdollistavan peleihin täysi vokselituki fysiikkaa myöten. Vain aika näyttää, lunastuvatko vokseleille asetetut odotukset ja mihinkä ne lopulta johtavat
29 6 Yhteenveto Tutkielmassa lähdettiin liikkeelle vokseleiden perustekniikasta ja käytiin läpi niiden historiaa, ominaisuuksia sekä teknisiä ratkaisuja, jotka soveltuisivat hyvin erityisesti tietokonepeleihin. Vokseleita myös verrattiin yleisemmin käytettyyn polygonitekniikkaan, jotta voitaisiin löytää vastaus siihen, soveltuuko vokselitekniikka tietokonepelien graafiseksi esitystavaksi. Lopuksi esiteltiin arvauksia vokseleiden mahdollisista tulevaisuudennäkymistä. Huolimatta vokseleiden viime aikojen vähäisestä suosiosta tietokonepeleissä voisimme kuitenkin ehkä olettaa vokselitekniikan uuden aikakauden olevan käsillä. Vaikka vokseleiden piirtäminen säteenseurannalla ei vielä keskimääräisesti yllä nopeudessaan polygonirasteroinnin tasolle, ei tämä tarkoita sitä että vokselitekniikan käyttöä olisi enää tarve odottaa, sillä vokselipelejä on tehty jo yli vuosikymmen sitten menestyksekkäästi. Voikin olla, että näemme yhä tulevaisuudessakin Delta Forcen kaltaisia pelejä, jotka luovat maaston ja muun ympäristön vokseleiden avulla mahdollistaen näin valtavat, tuhoutuvat pelikentät. Vokselitekniikassa on dynaamisuuden ohella monia muita hyödyllisiä ominaisuuksia, kuten joustavasti skaalautuvat tarkkuustasot ja mahdollisuus luonnonmuodostelmien helppoon toteutukseen. Näistä eduista huolimatta varsinaista vokselitekniikan vallankumousta ei ehkä ole odotettavissa, vaan tulemme luultavasti pikemminkin näkemään vokseli- ja polygonitekniikkojen yhteensulautumisen, jolloin on mahdollista hyödyntää molempien menetelmien vahvuuksia. Polygonigrafiikka säilynee joka tapauksessa pelien ensisijaisena piirtotapana, sillä vokseleiden kompastuskiviksi muodostuvat erityisesti animaation vaikeus, muistinkäytön ongelmat ja toimivien työkalujen puute. Vokseleiden kannalta kipeimmin lisätutkimusta vaativat asiat liittyvätkin juuri näihin ongelmiin. Vokseleiden yleistyminen riippuu myös hyvin paljon säteenseurannan ja näytönohjainten kehityksestä. Tekniikalla on kuitenkin tapana ruokkia itse itseään, ja mikäli vokseleita käyttävät pelit yleistyvät, on varmaa että myös vokselit mahdollistava laitteistotuki lisääntyy. 25
30 Kirjallisuutta Akenine-Möller, T., Haines, E., & Hoffman, N. (2008). Real-Time Rendering. (3rd edition) Wellesley: A K Peters, Ltd. Bautembach, D. (2011). Animated Sparse Voxel Octrees. University of Hamburg. Thd Thesis. Carmack, J. (2011, Elokuu 12). GPU Race, Intel Graphics, Ray Tracing, Voxels and more! (R. Shrout, Haastattelija). Saatavilla <URL: Interview-GPU-Race-Intel-Graphics-Ray-Tracing-Voxelsand-more/Transcr>. Viitattu Crassin, C. (2011). GigaVoxels: A Voxel-Based Rendering Pipeling For Efficient Exploration Of Large And Detailed Scenes. Grenoble University. Phd. thesis. Saatavilla <URL: CCrassinThesis_EN_Web.pdf>. Viitattu Fletcher, D. (2001). Real-Time Deformation for Computer Games. Bournemouth University. Saatavilla <URL: /Fletcher_David_237/report.doc>. Viitattu Goosen, D., & Gain, J. (2013). GPU-Based Sparse Voxel Octree Raytracing for Rendering of Procedurally Generated Terrain. University of Cape Town, Department of Computer Science. Saatavilla <URL: mlaten/pdfs/ thesis-rendering.pdf>. Viitattu Klug, S. (2013, Lokakuu). Voxels and EverQuest Next: An Interview with Steve Klug. Saatavilla <URL: Viitattu Kolehmainen, M. (2008). Voxel based approach for dynamic 3D environment in games. Jyväskylän yliopisto. Tietotekniikan pro gradu -tutkielma. Laine, S., & Karras, T. (2010). Efficient Sparse Voxel Octrees - Analysis, Extensions, 26
31 and Implemention. NVIDIA Technical Report NVR Saatavilla <URL: samuli/publications/ laine2010tr1_paper.pdf>. Viitattu Laine, S., & Karras, T. (2011). Efficient Sparse Voxel Octrees. NVIDIA Research. Saatavilla <URL: abs.html>. Viitattu Paul, P. S., Goon, S., & Bhattacharya, A. (2012). HISTORY AND COMPARATIVE STUDY OF MODERN GAME ENGINES. International Journal of Advanced Computer and Mathematical Sciences, Vol 3, Issue 2, 2012, s Reilly, D. (2011). Investigating Octree Generation for Interactive Animated Volume Rendering. University of Dublin. Master s thesis. Saatavilla <URL: Dissertations/1011/ReillyDavid.pdf>. Viitattu Römisch, K. (2009). Sparse Voxel Octree Ray Tracing on the GPU. University of Aarhus. Master s thesis. Saatavilla <URL: weiszig/post/svo_diplom/ raytracing/masterthesiskristofroemisch.pdf>. Viitattu Schwarz, M., & Seidel, H. P. (2010). Fast Parallel Surface and Solid Voxelization on GPUs. ACM Transactions on Graphics (TOG) (Vol. 29, No. 6, p. 179). ACM. Wardhana, N. M., Johan, H., & Seah, H. S. (2013). Enhanced waypoint graph for surface and volumetric path planning in virtual worlds. The Visual Computer, Volume 29, Issue 10, October 2013, s Wilhelmsen, A. (2012). Efficient Ray Tracing of Sparse Voxel Octrees on an FPGA. Norwegian University of Science and Technology. Doctoral dissertation. Saatavilla <URL: FULLTEXT01>. Viitattu
Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat
2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat 2D-piirto 2-ulotteisen grafiikan piirto perustuu yleensä valmiiden kuvien kopioimiseen näyttömuistiin (blitting)
Tilanhallintatekniikat
Tilanhallintatekniikat 3D grafiikkamoottoreissa Moottori on projektin osa joka vastaa tiettyjen toiminnallisuuksien hallinnasta hallitsee kaikki vastuualueen datat suorittaa kaikki tehtäväalueen toiminnot
Cloud rendering. Juho Karppinen 49480E
HELSINKI UNIVERSITY OF TECHNOLOGY 12.5.2003 Telecommunications Software and Multimedia Laboratory Tik-111.500 Tietokonegrafiikan seminaari Kevät 2003 Cloud rendering Juho Karppinen 49480E Cloud rendering
CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen
CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden
2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys
.. Kohteiden konstruktiivinen avaruusgeometrinen esitys Avaruusgeometrinen esitys on käyttäjäriippuvainen ja vaati erikoismenetelmiä tai lopuksi konversion monikulmiomalliksi. Se on korkean tason esitys
Algoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
3D-mallinnus ja teksturointi tietokonepeleissä
3D-mallinnus ja teksturointi tietokonepeleissä Markus Palviainen Johdantoa aiheeseen Graafikko sekoitus taiteilijaa ja teknistä tuntijaa Graafikolla oltava visuaalista näkemystä asioihin ja hänen pitäisi
Selainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
Viestinnän tutkinto ohjelma, 3D animointi ja visualisointi OPETUSSUUNNITELMA KXD19S13D
Viestinnän tutkinto ohjelma, 3D animointi ja visualisointi OPETUSSUUNNITELMA KXD19S13D ja 3D animoinnin ja visualisoinnin VISUAALISEN VIESTINNÄN PERUSOPINNOT, 3D 25 Graaf suunnittelun, 5 op 5 5 Valokuvauksen,
Luento 6: Piilopinnat ja Näkyvyys
Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Piilopinnat ja Näkyvyys Janne Kontkanen Geometrinen mallinnus / 1 Johdanto Piilopintojen poisto-ongelma Syntyy kuvattaessa 3-ulotteista maailmaa 2-ulotteisella
KOLMIULOTTEINEN TIETOKONEGRAFIIKKA PELEISSÄ
TEKNILLINEN KORKEAKOULU Tietoliikenneohjelmistojen ja Multimedian Laboratorio T-111.210 Informaatioverkostot: Studio 4 Kevät 2005 KOLMIULOTTEINEN TIETOKONEGRAFIIKKA PELEISSÄ Markus K Berg 60262R Informaatioverkostot
Energiatehokkuutta parantavien materiaalien tutkimus. Antti Karttunen Nuorten Akatemiaklubi 2010 01 18
Energiatehokkuutta parantavien materiaalien tutkimus Antti Karttunen Nuorten Akatemiaklubi 2010 01 18 Sisältö Tutkimusmenetelmät: Laskennallinen materiaalitutkimus teoreettisen kemian menetelmillä Esimerkki
Malleja ja menetelmiä geometriseen tietokonenäköön
Malleja ja menetelmiä geometriseen tietokonenäköön Juho Kannala 7.5.2010 Johdanto Tietokonenäkö on ala, joka kehittää menetelmiä automaattiseen kuvien sisällön tulkintaan Tietokonenäkö on ajankohtainen
Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen
Hävittäjälentokoneen reitin suunnittelussa käytettävän dynaamisen ja monitavoitteisen verkko-optimointitehtävän ratkaiseminen A*-algoritmilla (valmiin työn esittely) Joonas Haapala 8.6.2015 Ohjaaja: DI
Viestinnän tutkinto-ohjelma, 3D-animointi ja -visualisointi OPETUSSUUNNITELMA KXD18S13D
Viestinnän tutkinto-ohjelma, 3D-animointi -visualisointi OPETUSSUUNNITELMA KXD18S13D 3D-animoinnin - visualisoinnin asiantuntiksi Opiskelu- viestintätaidot, 5 op 5 5 Media-alan yrittäjyys, 5 op 5 5 VISUAALISEN
Matterport vai GeoSLAM? Juliane Jokinen ja Sakari Mäenpää
Matterport vai GeoSLAM? Juliane Jokinen ja Sakari Mäenpää Esittely Tutkimusaineiston laatija DI Aino Keitaanniemi Aino Keitaanniemi työskentelee Aalto yliopiston Rakennetun ympäristön mittauksen ja mallinnuksen
Kant Arvostelmia. Informaatioajan Filosofian kurssin essee. Otto Opiskelija 65041E
Kant Arvostelmia Informaatioajan Filosofian kurssin essee Otto Opiskelija 65041E David Humen radikaalit näkemykset kausaaliudesta ja siitä johdetut ajatukset metafysiikan olemuksesta (tai pikemminkin olemattomuudesta)
oppilaan kiusaamista kotitehtävillä vai oppimisen työkalu?
Oppimispäiväkirjablogi Hannu Hämäläinen oppilaan kiusaamista kotitehtävillä vai oppimisen työkalu? Parhaimmillaan oppimispäiväkirja toimii oppilaan oppimisen arvioinnin työkaluna. Pahimmillaan se tekee
Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti
Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan
Paavo Kyyrönen & Janne Raassina
Paavo Kyyrönen & Janne Raassina 1. Johdanto 2. Historia 3. David Deutsch 4. Kvanttilaskenta ja superpositio 5. Ongelmat 6. Tutkimus 7. Esimerkkejä käyttökohteista 8. Mistä näitä saa? 9. Potentiaali 10.
CHERMUG-pelien käyttö opiskelijoiden keskuudessa vaihtoehtoisen tutkimustavan oppimiseksi
Tiivistelmä CHERMUG-projekti on kansainvälinen konsortio, jossa on kumppaneita usealta eri alalta. Yksi tärkeimmistä asioista on luoda yhteinen lähtökohta, jotta voimme kommunikoida ja auttaa projektin
Hunajakakku menossa lingottavaksi
POHDIN projekti Hunajakenno Mehiläispesän rakentuminen alkaa kennoista. Kenno on mehiläisvahasta valmistettu kuusikulmainen lieriö, joka jokaiselta sivultaan rajoittuu toisiin kennoihin. Hunajakennot muodostavat
Videon tallentaminen Virtual Mapista
Videon tallentaminen Virtual Mapista Kamera-ajon tekeminen Karkean kamera ajon teko onnistuu nopeammin Katseluohjelmassa (Navigointi > Näkymät > Tallenna polku). Liikeradan ja nopeuden tarkka hallinta
HELSINKI UNIVERSITY OF TECHNOLOGY 7.4.2003 Telecommunications Software and Multimedia Laboratory Tik-111.500 Tietokonegrafiikan seminaari Kevät 2003
HELSINKI UNIVERSITY OF TECHNOLOGY 7.4.2003 Telecommunications Software and Multimedia Laboratory Tik-111.500 Tietokonegrafiikan seminaari Kevät 2003 Portaalit ja peilit Henrik Lönnroth 45894L Portaalit
Tietotekniikan laitoksen uusi linja
Tietotekniikan laitoksen uusi linja Tietotekniikan laitos 2011- Yhteisen rungon ympärille liittyvät oksina Tietotekniikan laitoksen perinteiset ja uudet linjat Haluatko harrastuksiisi liittyvän ammatin?
Tietokoneet täh++eteessä
Tietokoneet täh++eteessä Peter Johansson Fysiikan laitos, Helsingin yliopisto PC- käy:äjät ry kevätkokous 2014 Helsinki 23.3.2014 1. Miksi +etokoneita tarvitaan täh++eteessä ja mikä on niiden rooli modernissa
GDAL ja WFS: suora muunnos ogr2ogr-ohjelmalla
GDAL ja WFS: suora muunnos ogr2ogr-ohjelmalla Viimeksi muokattu 30. tammikuuta 2012 GDAL tukee WFS-palvelun käyttämistä vektoritietolähteenä yhtenä muiden joukossa. WFS-ajurin käyttöohjeet löytyvät osoitteesta
Johdanto. Agenda. Tuotantoprosessi. Historiallinen kehitys. Konsepti. Tuotantoprosessin vaiheet
Agenda Johdanto Tuotantoprosessi Työkalut Esteet Kehittämisalueet Johdanto Multimediasovellukset tuotetaan erilaisten tuotantotyökalujen avulla Sovellusten käsin koodaaminen on liian kallista Sovellukset
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
A11-02 Infrapunasuodinautomatiikka kameralle
A11-02 Infrapunasuodinautomatiikka kameralle Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Lassi Seppälä Johan Dahl Sisällysluettelo Sisällysluettelo 1. Projektityön tavoite
Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure
Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon
Hyvä 3D-tuotekuva ja video ilmentävät tuotteen tarkoituksen ja antavat oikeutta sen muotoilulle.
Hyvä 3D-tuotekuva ja video ilmentävät tuotteen tarkoituksen ja antavat oikeutta sen muotoilulle. Visualisointeja voi hyödyntää monipuolisesti. Niiden avulla käyttö- ja asennusvideot, koulutusmateriaalit
10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys
10.2. Säteenjäljitys ja radiositeettialgoritmi Säteenjäljitys Säteenjäljityksessä (T. Whitted 1980) valonsäteiden kulkema reitti etsitään käänteisessä järjestyksessä katsojan silmästä takaisin kuvaan valolähteeseen
VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Lauri Karppi j82095. SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI.
VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA Oskari Uitto i78966 Lauri Karppi j82095 SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI Sivumäärä: 14 Jätetty tarkastettavaksi: 25.02.2008 Työn
T-111.4310 Vuorovaikutteinen tietokonegrafiikka Tentti 14.12.2011
T-111.4310 Vuorovaikutteinen tietokonegrafiikka Tentti 14.12.2011 Vastaa kolmeen tehtävistä 1-4 ja tehtävään 5. 1. Selitä lyhyesti mitä seuraavat termit tarkoittavat tai minkä ongelman algoritmi ratkaisee
Tietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
PÄÄSET PERILLE NOPEAMMIN
TOMTOM TRAFFICIN AVULLA PÄÄSET PERILLE NOPEAMMIN TomTom on johtava liikennepalvelujen tarjoaja. TomTom valvoo, käsittelee ja toimittaa liikennetietoa itse kehittämällään teknologialla. TomTom uskoo, että
Aki Taanila LINEAARINEN OPTIMOINTI
Aki Taanila LINEAARINEN OPTIMOINTI 26.4.2011 JOHDANTO Tässä monisteessa esitetään lineaarisen optimoinnin alkeet. Moniste sisältää tarvittavat Excel ohjeet. Viimeisin versio tästä monisteesta ja siihen
Opetusmateriaali. Fermat'n periaatteen esittely
Opetusmateriaali Fermat'n periaatteen esittely Hengenpelastajan tehtävässä kuvataan miten hengenpelastaja yrittää hakea nopeinta reittiä vedessä apua tarvitsevan ihmisen luo - olettaen, että hengenpelastaja
Sosiaalinen media Facebook, Twitter, Nimenhuuto
Sosiaalinen media Facebook, Twitter, Nimenhuuto Jani Koivula, 21.11.2010 Kuka on se oikea? 23.11.2010 TULe urheiluseuraan liikkumaan 2 Ovatko sidosryhmänne sosiaalisessa mediassa? Oletteko te? Sosiaalisen
T740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010
12. Periytyminen Johdantoa Käytännössä vähänkään laajemmissa ohjelmissa joudutaan laatimaan useita luokkia, joiden pitäisi pystyä välittämään tietoa toisilleen. Ohjelmien ylläpidon kannalta olisi lisäksi
Haapalamminkankaan tuulivoimahanke, Saarijärvi
S U U N N IT T EL U JA T EK N IIK K A MEGATUULI OY Haapalamminkankaan tuulivoimahanke, Saarijärvi Havainnekuvat ja näkymäalueanalyysi V6 x 6 x HH37 FCG SUUNNITTELU JA TEKNIIKKA OY P0 FCG SUUNNITTELU JA
Aleksi Pyykkönen 14.12.2012. 3D-mallinnus ja liikkeentunnistus
3D-mallinnus ja liikkeentunnistus 1 Sisällysluettelo Kolmas ulottuvuus... 3 Liikkeentunnistus... 4 Käyttötarkoitukset... 5 Uhat ja mahdollisuudet... 6 Lähteet... 8 2 Kolmas ulottuvuus Tietokoneiden tehon
Johdatus rakenteisiin dokumentteihin
-RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista
Louen tuulivoimapuisto
S U U N N IT T EL U JA T EK N IIK K A TUULIWATTI OY Louen tuulivoimapuisto FCG SUUNNITTELU JA TEKNIIKKA OY 2 (11) Paulina.Kaivo-oja@fcg.fi Louen tuulivoimapuisto 1 Maisema ja havainnekuvat Havainnekuvat
TIEDEPOSTERI. - Viestinnän välineenä. Marisa Rakennuskoski
TIEDEPOSTERI - Viestinnän välineenä Marisa Rakennuskoski POSTERILAJIT Mainosposteri(pääpaino kuvilla ja visuaalisuudella) Ammatillinenposteri(vapaamuotoinen, esim. jonkin projektin tapahtumia kuvaava,
KEMIJÄRVEN SELLUTEHTAAN BIOJALOSTAMOVAIHTOEHDOT
KEMIJÄRVEN SELLUTEHTAAN BIOJALOSTAMOVAIHTOEHDOT Julkisuudessa on ollut esillä Kemijärven sellutehtaan muuttamiseksi biojalostamoksi. Tarkasteluissa täytyy muistaa, että tunnettujenkin tekniikkojen soveltaminen
Rubikin kuutio ja ryhmät. Johanna Rämö Helsingin yliopisto, Matematiikan ja tilastotieteen laitos
Rubikin kuutio ja ryhmät Johanna Rämö Helsingin yliopisto, Matematiikan ja tilastotieteen laitos Kehittäjä unkarilainen Erno Rubik kuvanveistäjä ja arkkitehtuurin professori 1974 Halusi leikkiä geometrisilla
Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat
Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat ehdottomia? 2013-2014 Lasse Lensu 2 Nykyiset tietokoneet
FYSP101/K1 KINEMATIIKAN KUVAAJAT
FYSP101/K1 KINEMATIIKAN KUVAAJAT Työn tavoitteita tutustua kattavasti DataStudio -ohjelmiston käyttöön syventää kinematiikan kuvaajien (paikka, nopeus, kiihtyvyys) hallintaa oppia yhdistämään kinematiikan
T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka
Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka Timo Tossavainen Mediatekniikan laitos, Aalto-yliopiston perustieteiden korkeakoulu Timo.Tossavainen@tkk.fi 25.3.2011 Sisältö Historiaa
AUDIOVISUAALISEN VIESTINNÄN AMMATTITUTKINTO. Valmistavan koulutuksen koulutussuunnitelma, peligrafiikan osaamisala
AUDIOVISUAALISEN VIESTINNÄN AMMATTITUTKINTO Valmistavan koulutuksen koulutussuunnitelma, peligrafiikan osaamisala Voimassa 1.8.2015 alkaen 2 Sisällys 1 AUDIOVISUAALISEN VIESTINNÄN AMMATTITUTKINTO, PELIGRAFIIKAN
Projektisuunnitelma ja johdanto AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Paula Sirén
Projektisuunnitelma ja johdanto AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Paula Sirén Sonifikaatio Menetelmä Sovelluksia Mahdollisuuksia Ongelmia Sonifikaatiosovellus: NIR-spektroskopia kariesmittauksissa
Luento 6: Geometrinen mallinnus
Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Geometrinen mallinnus Lauri Savioja, Janne Kontkanen 11/2007 Geometrinen mallinnus / 1 Sisältö Mitä on geometrinen mallinnus tietokonegrafiikassa
Nopea, hiljainen ja erittäin taloudellinen ilmanpoisto
Your reliable partner Nopea, hiljainen ja erittäin taloudellinen ilmanpoisto Vacumat Eco tehokas joka tavalla Veden laatu vaikuttaa tehokkuuteen Veden laatu vaikuttaa jäähdytys- ja lämmitysjärjestelmien
Työ- ja elinkeinoministeriö 4.8.2009 PL 32 00023 Valtioneuvosto
Työ- ja elinkeinoministeriö 4.8.2009 PL 32 00023 Valtioneuvosto Lausuntopyyntö TEM 266:00/2008 TERVEYSPALVELUALAN LIITON LAUSUNTO JULKISISTA HANKINNOISTA ANNETUN LAIN (348/2007) 15 :N MUUTTAMISESTA Vuoden
FYSP105/2 VAIHTOVIRTAKOMPONENTIT. 1 Johdanto
FYSP105/2 VAIHTOVIRTAKOMPONENTIT Työn tavoitteet o Havainnollistaa vaihtovirtapiirien toimintaa o Syventää ymmärtämystä aiheeseen liittyvästä fysiikasta 1 Johdanto Tasavirta oli 1900 luvun alussa kilpaileva
buildingsmart Finland
buildingsmart Finland Tero Järvinen buildingsmart Finland Talotekniikkatoimialaryhmä Finnbuild 2014 03.10.2014 TALOTEKNIIKKATOIMIALARYHMÄN KYSELY Kyselyn tarkoitus Kartoittaa talotekniikan tietomallikäytäntöjä
Tietorakenteet, laskuharjoitus 7, ratkaisuja
Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9
BILAGA 3 LIITE 3. Fotomontage och synlighetsanalys Valokuvasovitteet ja näkymäanalyysi
BILAGA 3 LIITE 3 Fotomontage och synlighetsanalys Valokuvasovitteet ja näkymäanalyysi SUUNNITTELU JA TEKNIIKKA VINDIN AB/OY Molpe-Petalax tuulivoimapuisto Näkymäalueanalyysi ja valokuvasovitteet FCG SUUNNITTELU
Puuta rikkomattomat mittausmenetelmät. Jukka Antikainen 18.3.2014
Puuta rikkomattomat mittausmenetelmät Jukka Antikainen 18.3.2014 Sisällys Tolppatuotteiden lujuuden ennustaminen äänennopeuden avulla Tukin kolmiulotteinen mallinnus pienillä pyörösahoilla Puutavaran määrän
Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat
Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat ehdottomia? 2012-2013 Lasse Lensu 2 Nykyiset tietokoneet
T Tietotekniikan peruskurssi: Tietokonegrafiikka. Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio
T-106.1041 Tietotekniikan peruskurssi: Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio Luennon aiheita (1) mitä on tietokonegrafiikka? tietokone piirtää kuvia mikä on digitaalinen
11 Oligopoli ja monopolistinen kilpailu (Mankiw & Taylor, Ch 17)
11 Oligopoli ja monopolistinen kilpailu (Mankiw & Taylor, Ch 17) Oligopoli on markkinamuoto, jossa markkinoilla on muutamia yrityksiä, jotka uskovat tekemiensä valintojen seurauksien eli voittojen riippuvan
Pelisuunnittelua tulevaisuudessa. Karoliina Korppoo / Colossal Order
Pelisuunnittelua tulevaisuudessa Karoliina Korppoo / Colossal Order Puhuja Karoliina Korppoo Game Designer Lead designer projektissa Cities: Skylines Medianomi, Tampereen Ammattikorkeakoulu Filosofian
Ulppaanmäki tuulivoimhankkeen osayleiskaava, kaavaluonnos
S U U N N IT T EL U JA T EK N IIK K A GREENWATT ULPPAANMÄKI OyAb Ulppaanmäki tuulivoimhankkeen osayleiskaava, kaavaluonnos Havainnekuvat ja näkymäaluenanalyysi FCG SUUNNITTELU JA TEKNIIKKA OY P20221 FCG
Liikkuva työ pilotin julkinen raportti 30.06.2014
Liikkuva työ pilotin julkinen raportti 30.06.2014 2 / 9 Green ICT pilotin raportti SISÄLLYSLUETTELO 1. Tiivistelmä koekäytöstä... 3 2. Toteutus... 4 2.1.Tavoite... 4 2.2.Mobiilisovellus... 4 2.3.Käyttöönotto...
mekaniikka suunnittelu ohjelmisto
Ver tex Systems Oy on vuonna 1977 perustettu suomalainen tietokoneohjelmistoja valmistava yritys. Kehitämme ja markkinoimme tekniseen suunnitteluun ja tiedonhallintaan tarkoitettuja Vertex-ohjelmistoja.
Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä:
Nielsen: "Olen tutkinut Webin käytettävyyttä vuodesta 1994, ja jokaisessa tutkimuksessa esiin on noussut sama asia: käyttäjät haluaisivat sivujen latautuvan nopeammin. Aluksi olin sitä mieltä, että käyttäjät
Tarvikkeet: A5-kokoisia papereita, valmiiksi piirrettyjä yksinkertaisia kuvioita, kyniä
LUMATE-tiedekerhokerta, suunnitelma AIHE: OHJELMOINTI 1. Alkupohdinta: Mitä ohjelmointi on? Keskustellaan siitä, mitä ohjelmointi on (käskyjen antamista tietokoneelle). Miten käskyjen antaminen tietokoneelle
TEKIJÄNOIKEUSNEUVOSTO LAUSUNTO 2015:6. Tekijänoikeus kolmiulotteiseen tietokoneanimaatioon
TEKIJÄNOIKEUSNEUVOSTO LAUSUNTO 2015:6 Asia Hakija Tekijänoikeus kolmiulotteiseen tietokoneanimaatioon B Annettu 21.4.2015 Tiivistelmä Kolmiulotteiset tietokoneanimaatiokuvat voivat itsenäisenä ja omaperäisinä
Muumion kirous. Pelisuunnitteludokumentti. Veikkauksen pelisuunnittelukilpailua (Peliskaba2015) varten
Pelisuunnitteludokumentti Muumion kirous Veikkauksen pelisuunnittelukilpailua (Peliskaba2015) varten Tekijä: Esko Vankka Osoite: Yliopistonkatu 39 E 51, 33500 Tampere Puh: 0400 832 907 Email: esko.pj.vankka@gmail.com
Korvennevan tuulivoimapuisto
S U U N N IT T EL U JA T EK N IIK K A OTSOTUULI OY Korvennevan tuulivoimapuisto Näkymäalueanalyysi ja valokuvasovitteet FCG SUUNNITTELU JA TEKNIIKKA OY 27.3.2015 FCG SUUNNITTELU JA TEKNIIKKA OY Korvennevan
Tietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Muuttujat eri muisteissa Ohjelman muistialueen layout Paikallisen ja globaalin muuttujan ominaisuudet Dynaamisen muistinkäytön edut Paikallisten muuttujien dynaamisuus ADT
etunimi, sukunimi ja opiskelijanumero ja näillä
Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi
Luento 6: 3-D koordinaatit
Maa-57.300 Fotogrammetrian perusteet Luento-ohjelma 1 2 3 4 5 6 7 8 9 10 11 12 13 Luento 6: 3-D koordinaatit AIHEITA (Alkuperäinen luento: Henrik Haggrén, 16.2.2003, Päivityksiä: Katri Koistinen 5.2.2004
Tutkittua tietoa. Tutkittua tietoa 1
Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.
Valo- ja äänisuunnittelun laitoksen kehittämishanke Digitaalisen äänen tutkimusprojekti
Valo- ja äänisuunnittelun laitoksen kehittämishanke Digitaalisen äänen tutkimusprojekti Jatkohanke vuonna 2001 aloitetulle digitaalisen valon ja äänen tutkimushankkeelle, jolle saatiin 2001 osarahoitus.
83450 Internetin verkkotekniikat, kevät 2002 Tutkielma <Aihe>
83450 Internetin verkkotekniikat, kevät 2002 Tutkielma TTKK 83450 Internetin verkkotekniikat Tekijät: Ryhmän nro:
Luku 8. Aluekyselyt. 8.1 Summataulukko
Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa
Reaaliaikainen karvapeitteen piirtäminen näytönohjaimella
Reaaliaikainen karvapeitteen piirtäminen näytönohjaimella Jussi Kekäläinen Pro gradu -tutkielma Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Tammikuu 2016 ITÄ-SUOMEN YLIOPISTO, Luonnontieteiden
Visualisoinnin perusteet
1 / 12 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto Visualisoinnin perusteet Mitä on renderöinti? 2 / 12 3D-mallista voidaan generoida näkymiä tietokoneen avulla. Yleensä perspektiivikuva Valon
Tietokonegrafiikka. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014
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
5. Numeerisesta derivoinnista
Funktion derivaatta ilmaisee riippumattoman muuttujan muutosnopeuden riippuvan muuttujan suteen. Esimerkiksi paikan derivaatta ajan suteen (paikan ensimmäinen aikaderivaatta) on nopeus, joka ilmaistaan
Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services
Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden
Hyvä taksinkuljettaja,
Hyvä taksinkuljettaja, Taxistars (www.taxistars.eu) on EU:n osarahoittama hanke jossa mukana on 8 organisaatiota ja yritystä Kreikasta, Belgiasta, Itävallasta, Saksasta, Suomesta, Italiasta ja Kyproksesta.
Sami Hirvonen. Ulkoasut Media Works sivustolle
Metropolia ammattikorkeakoulu Mediatekniikan koulutusohjelma VBP07S Sami Hirvonen Ulkoasut Media Works sivustolle Loppuraportti 14.10.2010 Visuaalinen suunnittelu 2 Sisällys 1 Johdanto 3 2 Oppimisteknologiat
Johtuuko tämä ilmastonmuutoksesta? - kasvihuoneilmiön voimistuminen vaikutus sääolojen vaihteluun
Johtuuko tämä ilmastonmuutoksesta? - kasvihuoneilmiön voimistuminen vaikutus sääolojen vaihteluun Jouni Räisänen Helsingin yliopiston fysiikan laitos 15.1.2010 Vuorokauden keskilämpötila Talvi 2007-2008
DNA:n kysely esikoulu- ja ala-asteikäisten matkapuhelinten käytöstä
DNA:n kysely esikoulu- ja ala-asteikäisten matkapuhelinten käytöstä Yhteenveto medialle 1 Yhteenveto Ala-asteikäiset lapset ovat jo hyvin aktiivisia puhelimen käyttäjiä. Kahdeksalla kymmenestä on oma puhelin
Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:
Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman
Kaksintaistelun approksimatiivinen mallintaminen (valmiin työn esittely)
Kaksintaistelun approksimatiivinen mallintaminen (valmiin työn esittely) Juho Roponen 10.06.2013 Ohjaaja: Esa Lappi Valvoja: Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla.
Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager
Missio: 1. Asentaminen 2. Valokuvien tarkastelu, tallennus/formaatit, koko, tarkkuus, korjaukset/suotimet, rajaus 3. Kuvan luonti/työkalut (grafiikka kuvat) 4. Tekstin/grafiikan lisääminen kuviin, kuvien/grafiikan
1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi
Muutokset pelisääntöihin 2010
Muutokset pelisääntöihin 2010 Yhteenveto selittämään uutta IHFn sääntökirjaa Lukuisten muotoseikkojen muutosten lisäksi IHFn sääntökirjan uusi versio tarjoaa selkeyttäviä selityksiä tukemaan johdonmukaista
FlyMarker PRO merkintälaite. Mark like a Professional
FlyMarker PRO merkintälaite Mark like a Professional Mark like a Professional FlyMarker PRO Mobile Kannettavan FlyMarker PRO merkintälaitteen avulla suurten, raskaiden ja vaikeasti liikuteltavien kappaleiden
Algoritmit 2. Luento 1 Ti Timo Männikkö
Algoritmit 2 Luento 1 Ti 14.3.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin valinta Algoritmin analysointi Algoritmin suoritusaika Peruskertaluokkia Kertaluokkamerkinnät Kertaluokkien ominaisuuksia
Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Toiminnallinen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.01 7.11.01 Pekka Koskinen Alustava sisällysluettelo 0.1 12.11.01 Pekka
Opetusmateriaali. Tutkimustehtävien tekeminen
Opetusmateriaali Tämän opetusmateriaalin tarkoituksena on opettaa kiihtyvyyttä mallintamisen avulla. Toisena tarkoituksena on hyödyntää pikkuautoa ja lego-ukkoa fysiikkaan liittyvän ahdistuksen vähentämiseksi.
Tämän värilaatuoppaan tarkoitus on selittää, miten tulostimen toimintoja voidaan käyttää väritulosteiden säätämiseen ja mukauttamiseen.
Sivu 1/7 Värilaatuopas Tämän värilaatuoppaan tarkoitus on selittää, miten tulostimen toimintoja voidaan käyttää väritulosteiden säätämiseen ja mukauttamiseen. Laatu-valikko Tulostustila Väri Vain musta
Peliteoria luento 2. May 26, 2014. Peliteoria luento 2
May 26, 2014 Pelien luokittelua Peliteoriassa pelit voidaan luokitella yhteistoiminnallisiin ja ei-yhteistoiminnallisiin. Edellisissä kiinnostuksen kohde on eri koalitioiden eli pelaajien liittoumien kyky