Antin blogi

Tietokonegrafiikkablogi

 

Away3D

 

Olemme aikaisemmin katsoneet hiukan Papervision3D moottoria, joka on hyvin suosittu, mutta ei suinkaan ainoa. Tällä kertaa halusin kokeilla Away3D moottoria.

Away3D on aikoinaan kehitetty sen aikaisen Papervisionin pohjalta, josta Away3D on alkanut mennä omaan suuntaansa ja Papervision3D omaansa.


Read more ...

3D projektio Flashilla.

 

Tiedän, olen jo tässä blogissa käsitellyt tätä aihetta, mutta viimeksi esittelin alkeellisemman joskin helposti ymmärrettävissä olevan tavan projisoida 3d pisteitä 2d tasolle. Tällä kertaa kirjoitan "oikeasta" perspektiiviprojektiosta projektiomatriisin avulla.


Read more ...

Lisää custom dataa .NET ListViewItem olioon.

 

Usein tulee vastaan tilanne, että ListViewItem tai TreeViewItem pitäisi sisältää dataa, joka ei näy itse komponentissa esim. jokin tunnisteguid.

Oman tiedon kirjoittaminen ListViewItemiin ei ole lainkaan vaikeaa. Näin se käy.


Read more ...

Scanline rendaaja Flashille.

 

Pitkään on pitänyt tätä kokeilla ja loputakin löysin aikaa tämän tekemiseen.


Read more ...

XNA

 

Microsoft XNA on ilmainen "peliohjelmointikirjasto", jonka tarkoitus on olla helppokäyttöinen Direct X rajapinnan päälle rakennettu Framework. XNA ei kuitenkaan eroa kovinkaan paljoa Direct X:stä. Se on kuitenkin selkeämpi ja siitä on poistettu epäolennaisia osia. XNA ohjelmia voidaan ohjelmoida .NET kielillä ja tässä käytetämme C# kieltä, mutta voisit käyttää muitakin .NET kieliä oman valintasi mukaan.

 


Read more ...

C# ja Javascript

 

Usein tulee vastaan tilanteita jolloin selainohjelman tekeminen esim. yrityksen sisäiseen käyttöön tuntuu järkevältä. Selaimet ovat mm. erittäin hyviä käsittelemään isoja määriä kuvia. Ne mukavasti lataavat kuvat streamaamalla ja pysyvät interaktiivisina isojenkin kuva määrien kanssa.


Read more ...

Flash 10 beta.

 

Flash 10:nen ei vielä ole virallisesti julkaistu, mutta nyt jo hätäisemmät pääsevät sitä kokeilemaan. Tätä varten tarvitaan Flex3 Nightly Build Thu May 15, 2008 tai uudempi linkki. Muista myös ennen asennusta poistaa vanha flash koneestasi linkki. Asenna vanhan poistamisen jälkeen uusi Flash 10 beta player linkki. Pura sdk paketti haluamaasi hakemistoon ja varmista, että sieltä löytyy seuraavaa filu FLEX_SDK/frameworks/libs/player/10/playerglobal.swc.


Read more ...

Papervision

 

Koska rasterointi pikseli pikseliltä on Flashilla erittäin hidasta pitää Flashin kanssa kikkailla, jotta pystytään renderoimaan 3d kamaa ruudulle. Tähän tarkoitukseen on olemassa useita 3d-moottoreita, jotka suoriutuvat tehtävästä jotakuinkin. Yksi näistä on suosittu PV3D, joka on ns. "skew rendaaja".


Read more ...

Flashin suorituskyky.

 

AS3 on sanottu olevan nopemapi kuin AS2. Se on totta, mutta AS3 ei silti tee Flashista nopeaa. Se on edelleen hidas ja jää pahasti jalkoihin vaikka Javalle. Tästä huolimatta Flash tuntuu olevan suositumpi (jumala yksin tietää miksi). No kun kerran Flashia halutaan niin koodataan sitten sitä. Ensin on kuitenkin syytä tietää missä pullonkaulat ovat.


Read more ...

Kolmion rasterointi Flashilla.

 

Kuvan mukaisen kolmion täyttäminen yhdellä värillä ei ole niin helppoa miltä se kuulostaa. Toki Flash tarjoaa tähän valmiin funktion, mutta se funktio ei kelpaa meille enää siinä vaiheessa kun haluamme täyttää polygonin tekstuurilla perspektiivikorjattuna. Tästä syystä meidän on kirjoitettava oma poly filleri, jota voimme kehittää eteenpäin.


Read more ...

Pikselin piirron nopeus Flashissa.

 

Kun nyt olemme alkaneet puhua 3d:stä niin meidän pitää puhua myös pikseleistä, koska ilman niitä emme saa aikaan kunnon 3d:tä. Toki jonkinlaista saadaan rendattua ilman pikseleitäkin, mutta ongelmia tulee. Varsinkin teksturoidessa ja Z-bufferin kanssa. Teksturointi vielä joten kuten onnistuu, mutta Z-Buffer on mahdoton ilman pikseleitä ja vaihtoehdoksi jää Z-Sort, joka ei toimi kunnolla. Tästä syystä Sandyn ja Papervisionin polyt napsahtelee eikä piirry aina oikein.


Read more ...

3D-grafiikkaohjelmintia Flashilla.

 

Tämä on varsinainen mammuttiaihe, joten tulemme puhumaan tästä osissa aika ajoin tällä blogilla.

Oletan että kaikki lukijat tietävät mitä on 3d, joten ei juuri yritä selittää mikä on kolmiuloitteinen avaruus tai -malli. Myös perustieto 3d grafiikasta on erittäin suositeltavaa.


Read more ...

Binääritiedostojen lukeminen Flashilla.

 

Jatketaan binääritiedostoilla. Virheellisesti viime postauksessa väitin ettei binääritiedostoja voi lukea Flashilla. Kyllähän niitä voikin ja se helpottaa taas kummasti elämää.

Binääritiedoston lukeminen on jonkin verran vaikeampaa, kuin normaalin ascii muotoisen tiedoston lukeminen, joita ovat mm. tekstitiedostot ja xml-tiedostot. Tekstitiedostoissa ei sinänsä ole mitään vikaa, mutta ne alkavat viedä melkoisesti tilaa, jos niihin tallennetaan paljon dataa. Binääritiedostot on taas mahdollista saada paljon pienempään tilaan ja sitä pidän erityisen tärkeänä varsinkin internetissä.


Read more ...

UV datan pakkaaminen kuvaan.

 

Haluaisitko flash ohjelman jossa 3d-animaation pintatekstuureja voisi muuttaa. Voisit esim. tehdä renderoidun kuvan huoneesta ja muuttaa huoneen seinien tapetit ja vaihtaa lattian. Mikä olisi erityisen hienoa voisit laittaa seinälle minkä tahansa tapettikuva tai vaikka oman naamasi jos siltä jostain syystä tuntuu :).


Read more ...