Shiva3D plugin for TUIO handling

Shiva3D TUIO protocol

1. Intro

Shiva3D adalah sebuah aplikasi editor untuk sistem operasi Microsoft Windows yang berfungsi untuk membangun aplikasi grafik tiga dimensi berbasis script. Salah satu fitur Shiva3D yang cukup menarik adalah kemampuannya untuk “loading” external DLL yang disebut sebagai plugin dan menjalankan rutin-rutin yang ada dalam DLL tersebut.

Seseorang tentu dengan mudah dapat membuat plugin tersebut tetapi hal yang cukup merepotkan adalah tahap “signing” plugin agar dapat didistribusikan kepada developer lain atau komunitas Shiva3D yang lain. Hal tersebut cukup menganggu untuk golongan ekonomi lemah ataupun seseorang yang sedang dalam proses belajar sehingga artikel ini muncul sebagai respon situasi tersebut. Distribusi plugin memang lebih nyaman dalam bentuk source code karena tidak memerlukan proses signing dan kerumitan ekonomi yang lain.

2. Metode

Pada artikel ini, masalah yang akan dipecahkan adalah penanganan protokol TUIO dari dalam script LUA pada AIModel sebuah aplikasi Shiva3D. Banyak cara untuk menangkap dan menterjemakan paket data yang secara apriori diasumsikan sebagai protokol TUIO. Metode yang diterapkan pada artikel ini adalah memakai piranti network yaitu socket UDP.

Pada tahap inisialisasi, proses yang terjadi adalah membuka socket untuk “mendengarkan” paket data pada port 3333 kemudian melakukan aktifitas penangkapan dan penterjemahan data pada handler “onEnterFrame()” atau “OnLoop” dalam AIModel yang dipakai.

3. Hasil

Beberapa sesi run-time dan debugging metode tersebut di atas dengan editor Shiva3D telah menghasilkan data yang cukup konsisten dan akurat pada setiap loop-nya. Resource yang digunakan juga tidak terlalu membebani processor dan tidak menurunkan angka FPS secara signifikan.

4. Diskusi

Beberapa hal yang masih perlu diperhatikan dengan metode ini adalah tahap “menutup” socket yang telah dibuka dan juga overhead dari TCP/IP stack ketika terdapat beban yang lebih pada processor untuk kalkulasi hal yang lain.

Silakan download Source Code dari plugin tersebut di atas dalam kemasan proyek Shiva3D berikut ini: Shiva3D plugin source code dan tentu saja di GitHub

Advertisements
This entry was posted in News. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s