{"id":450,"date":"2010-03-05T18:33:58","date_gmt":"2010-03-05T15:33:58","guid":{"rendered":"http:\/\/salkku.org\/?p=450"},"modified":"2010-03-05T18:33:58","modified_gmt":"2010-03-05T15:33:58","slug":"ensimmainen-webgl-mashup","status":"publish","type":"post","link":"https:\/\/slmnn.kapsi.fi\/blog\/?p=450","title":{"rendered":"Ensimm\u00e4inen WebGL-mashup"},"content":{"rendered":"<p><a href=\"http:\/\/www.khronos.org\/webgl\/\">WebGL<\/a> (<strong>Web G<\/strong>raphics\u00a0<strong>L<\/strong>ibrary) on ty\u00f6n alla oleva JavaScript-rajapinta, jonka avulla voi toteuttaa laitteistokiihdytettyj\u00e4 3D web -sovelluksia ilman selaimeen asennettavia lis\u00e4osia. WebGL-sovellusten tekeminen puhtaasti vain t\u00e4t\u00e4 rajapintaa k\u00e4ytt\u00e4en on kuitenkin suhteellisen vaikeaa. Onneksi tarkoitusta varten on kehitetty useita kirjastoja, jotka helpottavat hommaa. Osa kirjastoista sis\u00e4lt\u00e4\u00e4 my\u00f6s muita ty\u00f6kaluja, joilla voi esimerkiksi m\u00e4\u00e4ritell\u00e4 objektien sijainteja tai rakentaa yksinkertaisia maailmoja.<\/p>\n<p>WebGL-kirjastoja ovat esimerkiksi:<\/p>\n<ul>\n<li>GLGE \u00a0(<a href=\"http:\/\/www.glge.org\/\">http:\/\/www.glge.org<\/a>\/)<\/li>\n<li>Copperlicht (<a href=\"http:\/\/www.ambiera.com\/copperlicht\/index.html\">http:\/\/www.ambiera.com\/copperlicht\/<\/a>)<\/li>\n<li>C3DL (<a href=\"http:\/\/www.c3dl.org\/\">http:\/\/www.c3dl.org<\/a>\/)<\/li>\n<li>SpiderGL (<a href=\"http:\/\/spidergl.org\/\">http:\/\/spidergl.org<\/a>\/)<\/li>\n<li>SceneJS (<a href=\"http:\/\/www.scenejs.com\/\">http:\/\/www.scenejs.com<\/a>\/)<\/li>\n<\/ul>\n<p>WebGL-sovellusten k\u00e4ytt\u00f6 ei onnistu t\u00e4m\u00e4n hetken selainten julkaistuilla versioilla, mutta jos k\u00e4y noutamassa itselleen esimerkiksi <a href=\"http:\/\/build.chromium.org\/buildbot\/snapshots\/chromium-rel-xp\/\">Chromen<\/a> tai <a href=\"http:\/\/ftp.mozilla.org\/pub\/mozilla.org\/firefox\/nightly\/latest-trunk\/\">Firefoxin<\/a> esiversion, homma l\u00e4htee toimimaan. Toki my\u00f6s tietokoneesta on syyt\u00e4 l\u00f6yty\u00e4 OpenGL ES 2.0 rajapintaa tukeva n\u00e4yt\u00f6nohjain ja kyseist\u00e4 rajapintaa tukeva n\u00e4yt\u00f6nohjain ajuri.<\/p>\n<p>Itse otin kokeiluun C3DL-kirjaston, joka vaikutti ensisilm\u00e4yksell\u00e4 toteutukseltaan melko selke\u00e4lt\u00e4. V\u00e4rkk\u00e4ilin kirjaston avulla yksinkertaisen mashup-sovelluksen, joka hakee avainsanan perusteella kuvia <a href=\"http:\/\/www.flickr.com\/\">Flickr<\/a>-palvelusta. Kuvat n\u00e4ytet\u00e4\u00e4n kolmiuloitteisten laatikkojen pinnalla, jotka py\u00f6riv\u00e4t ympyr\u00e4\u00e4 avaruudessa. Mashup-sovellus l\u00f6ytyy <a href=\"http:\/\/www.cs.tut.fi\/~salmin39\/webgl\/c3dl\/demo\/\">t\u00e4\u00e4lt\u00e4<\/a>. Ohessa on video tuotoksesta.<\/p>\n<p>[youtube BHzgPHM5Kgk]<\/p>\n<p><a href=\"http:\/\/www.youtube.com\/watch?v=BHzgPHM5Kgk\">http:\/\/www.youtube.com\/watch?v=BHzgPHM5Kgk<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WebGL (Web Graphics\u00a0Library) on ty\u00f6n alla oleva JavaScript-rajapinta, jonka avulla voi toteuttaa laitteistokiihdytettyj\u00e4 3D web -sovelluksia ilman selaimeen asennettavia lis\u00e4osia. WebGL-sovellusten tekeminen puhtaasti vain t\u00e4t\u00e4 rajapintaa k\u00e4ytt\u00e4en on kuitenkin suhteellisen vaikeaa. Onneksi tarkoitusta varten on kehitetty useita kirjastoja, jotka helpottavat hommaa. Osa kirjastoista sis\u00e4lt\u00e4\u00e4 my\u00f6s muita ty\u00f6kaluja, joilla voi esimerkiksi m\u00e4\u00e4ritell\u00e4 objektien sijainteja tai rakentaa [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[17,13,4],"tags":[],"_links":{"self":[{"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=\/wp\/v2\/posts\/450"}],"collection":[{"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=450"}],"version-history":[{"count":1,"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=\/wp\/v2\/posts\/450\/revisions"}],"predecessor-version":[{"id":451,"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=\/wp\/v2\/posts\/450\/revisions\/451"}],"wp:attachment":[{"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/slmnn.kapsi.fi\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}