Denny Depok IT Blog

Ngomongin Klorofil Project dan dunia IT, dari perkembangan, gosip sampe teori konspirasinya :D

Grafik 3D Di Web

AutoBatik 3D on Web
Walau gaungnya gak sekenceng Ajax, usaha untuk menampilkan grafik 3D di web saat ini sebenernya mulai menunjukkan geliat yang cukup menarik untuk diamatin. Maksud saya bukan sekedar gambar 3D loh, tapi sistem grafik 3D yang interaktif, ya kayak digame-game 3D gitu deh. Sebenernya keinginan (ato obsesi malah) untuk menampilkan grafik 3D di web udah lama banget, mungkin ada yang masih inget sama VRML jaman dulu ?

Trus kalo emang udah lama kenapa baru mulai ribut-ribut sekarang ? jawabannya adalah dulu lingkungan yang tersedia untuk 3D di web feasible banget. Trus sekarang udah ? jawabannya belum :D :D :D.

OK gini deh saya mulai cerita dari VRML. Yang buat VRML sadar kalo projek mereka gagal, alasannya sih macem-macem, saya gak mau bahas disini ato malah debat kusir disini, tapi yang pasti makin lama suara VRML makin gak kedengeran. Melihat kenyataan tersebut, tim VRML mencoba untuk memperbaiki spek VRML agar dapat mengikuti struktur modern a.k.a XML, sehingga lahirlah X3D. Selain spek sintaks, X3d juga menambah kemampuan interaksi antara model 3D dengan lingkungan pemrograman yang diberi nama X3D SAI (scene application interface). Ya akhirnya model 3D dengan X3D ini bisa untuk membuat aplikasi 3D yang lumayan kompleks. Saya dah pernah buat aplikasi pake X3D, screenshotnya seperti gambar diatas itu. Gambar tersebut adalah gambar fraktal 3D dengan pendekatan LSystem.

Walaupun X3D punya banyak fitur, tapi gaungnya tetep gak kenceng, sampe nyoba membajak nama Ajax sehingga munculah Ajax3D seperti yang ada diweb www.ajax3d.org. Tapi tetep gak banyak yang tertarik, kalo dari analisa saya sih kebanyakan developer trauma dengan kegagalan VRML yang dulu sempet ngebooming banget tapi abis itu mati pelan-pelan. Menurut saya lagi ditambah kurangnya dukungan web browser (yang bagusnya sih otomatis include kemampuan X3d), trus apalagi belum ada plugin X3D yang bener-bener free ngebuat orang males make. Disuruh download plugin yang free untuk personal sebesar 5MB aja males, apalagi harus bayar kalo mo ngembangin aplikasi komersial untuk plugin yang performansinya gak begitu bagus.

Perkembangan lain dateng dari munculnya tag canvas di browser selain IE (firefox + opera tentunya, tapi google udah nyediain emulasinya untuk IE). Tag ini memungkinkan developer web unutk menggambar secara programming di dalam area canvas tersebut. Developer yang seneng maen grafik (termasuk saya :D :D :D) langsung excited banget untuk mengexploitasi fitur ini, dan tentu aja mulai berfikir untuk menampilkan grafik 3D dengan canvas tersebut. Dari percobaan saya untuk membangun 3D engine diatas canvas, hasilnya gak feasible banget :D :D :D, walau baru wireframe + shadding flat, untuk 100 surface aja dah lambat banget :D :D :D. Dari beberapa orang lain yang mencoba hasilnya gak jauh beda. Ya gimana lagi, canvasnya gak dioptimasi untuk pemrograman grafik yang rumit ditambah kecepatan javascript yang you know lah :P

Tapi sebenernya canvas memang sudah didesain untuk mengantisipasi grafik kompleks seperti 3D. Karena memang saat ini baru konteks 2D yang didukung, makanya ngebuat engine 3D manual pake javascript diatas konteks 2D seperti jamannya program DOS pengen nampilin 3D. Ada beberapa tim yang nyoba untuk ngebuat konteks 3D diatas canvas, minimal ada 2 yang udah saya denger, dari orang firefox dan orang opera. Tapi sayang kedua tim tadi memilih pendekatan yang berbeda.

Tim firefox mencoba mengembangkan dari OpelGL embedded, sedangkan opera mengembangkan dari model engine yang gak tergantung sama library 3D pipenya. Sebenernya sih keduanya ada keuntungannya, tapi sayang kalo gak sepakat. Tim opera berargumentasi kalo engine yangh gak tergantung library mudah unutk diimplementasikan diberbagai sistem sampe hardware seperti handphone. Kalo saya nempati diri sebagai orang manajemen, saya pasti ngedukung opera, ya kan enak sekali implementasi bisa buat hampir semua hardware. Tapi kalo sebagai programmer yang pernah maen-maen sama 3D, tim firefox tuh sangat benar sekali. Bukan apa-apa, kalo kita mrogram 3D, pasti ada aja yang harus kita buat sendiri, dan semakin low level (OpenGL kan langsung maen ke hardware) performansinya pasti lebih yahud. Lagian buat apa punya hardrware 3D bagus tapi gak bisa dipake optimal, ya tau sendiri lah, engine 3D kan dibangun berdasarkan ketersediaan hardware saat dibangun dan harus mengakomodasi banyak orang jadi mungkin gak optimal untuk kebutuhan tertentu.

OK deh, mungkin perlu waktu beberapa saat lagi sebelum canvas 3D didukung secara default di browser (firefox + opera ya, IE sih saya gak berharap banyak :D). Tapi percaya deh kalo tim-tim diatas akan menuntaskan tujuannya, untuk perkembangan yang firefox bisa dilihat di Canvas3D Forum Mozilla. Tapi sebenernya ada satu hal lagi yang belum dipegang sama tim-tim tersebut, yaitu matematika 3D. Pasti langsung banyak yang mikir kenapa harus khusus bikin untuk matematika 3D, kan tinggal bikin aja di javascript. Saya tau, saya tau. Tapi jangan lupa, kalo program 3D yang profesional tuh enggak ngitung matematika 3D secara programming standar, tapi make bantuan hardware. Ya kalo lupa saya bilangin deh, inget sama MMX/3D Now/SSE ? He..he..he.. emang gak banyak yang tau sih. Tapi intinya semua istilah tadi ngacu sama teknologi SIMD (Single Instruction Multiple Data). Maksudnya dengan sekali instruksi (jadi satu cycle CPU) bisa mengoperasikan perhitungan matematika terhadap beberapa data. Ya bayangin aja 3D kan maennya vektor yang berisi 3 data floating point, plus matriks 4×4 biasanya. Kalo pake programming biasa pasti prosesnya sebanyak datanya, tapi kalo pake SIMD cuma sekali jalan, asik kan ? Jadi mungkin objek Math-nya javascript harus dikembangin untuk operasi 3D dan matriks, tapi tentu aja mengeksploitasi MMX/3D Now/SSE. Nunggu ato harus saya sendiri yang buat ya :D :D :D

Walau banyak yang skeptis terhadap 3D di web seperti bilang buat apa, ya terserah mereka sih. Tapi saya yakin aplikasi 3D on web dimasa depan akan banyak banget. Kondisinya kayak gini deh, dulu orang nonton TV/Video ato denger radio/ nelpon lewan internet juga banyak yang bilang gak mungkin dan untuk apa, tapi setelah ada youtube + skype malah jadi makanan sehari-hari. Dan 3D di web, saya rasa bakan booming banget gak lama lagi, tinggal kita liat aja. Dari saya sendiri sih dah punya banyak benget ide 3D di web, tinggal ada yang mo sponsorin gak :D :D :D

Share and Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • BlinkList
  • del.icio.us
  • digg
  • Furl
  • Ma.gnolia
  • NewsVine
  • Reddit
  • Spurl
  • TailRank
  • YahooMyWeb

2 Comments so far

  1. rama April 11th, 2008 10:03 am

    menurut saya VRML bukannya kurang terdengar, tapi teknologinya stuck dan memang dari awal tidak terlalu banyak peminatnya. Tapi someday, VRML dapet momentumnya lah.. coz technology keeps growing.. Salam Kenal.

  2. Denny Depok April 27th, 2008 7:36 pm

    >Tapi someday, VRML dapet momentumnya lah..
    >coz technology keeps growing.. Salam Kenal.

    Salam kenal juga, mudah-mudahan sih VRML dapet momentumnya. Tapi sayang, saya lihat browser makin gak ramah sama teknologi diluar W3C. Maksudnya, kalo diajuin sama W3C biasanya langsung didukung di versi berikutnya, sedang yang dari luar, ya harus nyediain activeX/addon sendiri. Masalahnya bukan buat addonnya, tapi nyuruh orang tuk download addon itu loh, susah banget kayaknya :P

Leave a reply