IRC-Galleria

...3D, IITorstai 27.05.2010 02:38

Kalliit ja kovat kengät.

Kun kauheista kesähelteistä on päästy, niin sitä voi taas nörtteillä kotona rauhassa. Luin tänään eteenpäin 3D:tä, ja kävin kirjastossa katsomassa oppaita. Kirjapuolella hirveästi ei voi odottaa normaalilta kaupunginkirjastolta, mutta yksi lyhyt suomenkielinen, asiaa pintapuolisesti käsittelevä kirja löytyi.

Aiemmin sarjassa: aloitin 3d-grafiikan opiskelun. Ei oikeastaan vielä mitään pohjaa. Aikoinani käpistelin 3D Studio Max II:lla (vai ykkösellä, aikaa on "tovi").

AutoCADit eivät auta asiaa, ne on erilaisia verrattuna peleissä käytettäviin tekniikoihin. CADeissa keskitytään enemmän varsinaisiin rakenteellisiin, fyysisen maailman tekniikoihin, kun taas 3D on toistaiseksi ainakin enemmän näyttävyyden (pelin kannalta tärkeää) hakemista. Tosin jo useiden vuosien ajan näytönohjaimelle on tarjottu fysiikkamoottorin osaa, eli nopeita piirejä ja massiivista rinnakkaislaskentaa on alettu käyttää myös törmäilyjen, murskautumisten, pullistumien, vääntymisten ja muiden efektien laskemisessa.

Päivän opit:
- alkuaikojen hankalasta rekisteripohjaisesta, rautaläheisestä ohjelmoinnista on tultu kirjastoihin, jolloin ohjelmoija voi kutsua omasta koodistaan rutiineja jotka hoitavat paljolti kaiken 3D-laskennasta
- hieman pikselien varjostuskielestä (GLSL)
- erilaisten varjostusmallien teoreettinen pohja
- tulossa CUDA, ei hajuakaan vielä mikä (mutta vilkaistaan! :-)
- lisää raudan kyvykkyydestä, missä nopeuksissa nykyään mennään. Parhaimmat piirit kykenevät miljardiluokkaan

Varjostuksessa pikselille tai oikeammin tasolle lasketaan sen valoisuusarvo.
Phong on yksi perusmalli pikselin varjostustavoissa. Sitä yksinkertaisemmat ovat Gouraud ja aivan lineaarinen malli. Lineaarisessa mallissa lasketaan vain pinnan normaalivektorin suhde valolähteeseen. Tästä otetaan suoraan koko pinnan valoisuus. Gouraudissa interpoloidaan eli otetaan pisteitä, ja niiden välille lasketaan tasaisesti muuttuva valoisuus. Phongissa on jo kaksivaiheinen laskenta; sekä valoisuus (highlight, tai specularity) että varjot.

Kaikki puuhastelu Linuxilla, ja hieman linkuttavalla kannettavalla. Koneen kanssa ei käynyt tuuri, kovalevy on jo paukkunut ja akku vetelee viimeisiään. Joten viimeisen kuukauden aikana Ubuntu on asenneltu varmasti 50 kertaa uusiksi (tai oikeammin, Live CD pyöritys, ei asennusta).

Linkkejä 3-ulotteiseen grafiikkaan
http://en.wikipedia.org/wiki/Blinn%E2%80%93Phong_shading_model
http://en.wikipedia.org/wiki/Real-time_computer_graphics
http://www.blender.org/

Etkö vielä ole jäsen?

Liity ilmaiseksi

Rekisteröityneenä käyttäjänä voisit

Lukea ja kirjoittaa kommentteja, kirjoittaa blogia ja keskustella muiden käyttäjien kanssa lukuisissa yhteisöissä.