Sabtu, 05 Maret 2011

VRML

Apa itu VRML ???

VRML (virtual reality modeling language) adalah sebuah bahasa pemograman yang di ciptakan khusus membuat objek-objek 3Dimensi. objek-objek yang dibuat dengan VRML akakn memiliki 3 buah dimensi panjang, lebar, dan kedalaman, sehingga dapat dipandang dari setiap sudut.

Jika anda pernah menggunakan HTML untuk membuat webpage, maka penggunaan VRML tidak kalah mudahnya. Anda tinggal mengetikkan serangkai perintah-printah 7yang mudah di hafalkan pada program penyutingan kata (misalnya Notepad pada windows), menyimpan file VRML tersebut, lalu langsung dapat di tampilkan pada semua browser yang dapat menampilkan VRML.

VRML juga menggunakan prinsip OP (object oriented programmating), sam seperti bahasa pemrograman generasi baru lainnya.
Prinsip ini membagi setiap bagian di dalam progarm menjadi objek-objek yang terpisah-pisah.


Kelebihan VRML
VRML memiliki beberapa kelebihan yang membuat banyak digunakan untuk membuat dunia tiga dimensi. Diantaranya yaitu :
* Bahasanya mudah dan sederhana
* Cepat
* Fleksibel
* Dinamis
* Interaktif

Aplikasi VRML

Beberapa aplikasi VRML yaitu :
1. Arsitektur : digunakan untuk membuat bangunan mirip aslinya, di mana nda ingin menjelajahi setiap[ sudut bangunan seperti mengunjungi langsung.
2. Bisnis ; bagi uahawan VRML adalah ajang bagus untuk membuat promosi produknya dalam 3 dimensi.
3. Hiburan : anda dapar berekreasi di komputer anda melalui VRML ini.
4. Homepage : kini sudah banyak poerusahaan menggunakan VRML untuk membuat webpage atau homepage-nya jauh menarik.
5. Ilmu pengetahuan : Anda bisa membuat sebuah anatomi tubjuh 3D yang dapat diputar0putar, membuat struktur molekul, tata surya planet-planet , dan sebagainya.
6. Militer : saat ini di bidang militer VRML digunakan untuk meletakan daerah-daerah operasi militer , yang nantnya digunakan untuk meletakkan pasukan, atau bahkan digunakan sebagai panduan untuk smart missile (peluru kendali ).
7. Pendidikan : bisa digunakan sebagai sarana pendidikan yang efisien.
8. Rekayasa : VRML digunakan untuk membuat atau merekayasa suatu rancangan seperti mobil, banguann pesawat terbang.
9. Sejarah :L semua bangunan sejarah masa lampau bisa direkayasa kembali secar 3D dengan VRML.
10. Seni :kita dapat membuat sebuah museum virtual yang memiliki ruang berbagai macam benda seni.
11. Sosialisasi : VRML digunakan untuk dapat meninjau keadaan baik sekarang maupun yang akan datang.

Walau kita tidak akan belajar menditel tentang pemrosesan grafik 3D, tidak ada salahnya kita tahu sedikit apa yang sebenarnya terjadi saat objek 3D ini digenerasi oleh komputer kita. Setiap kali isi VRML harus digambarkan ke tampilan, maka ada proses tertentu yang harus dikerjakan. Urutan dari proses ini disebut dengan Graphics Pipeline yang diagramnya dapat dilihat di Gambar 1 (diambil dari www.uark.edu/ wrgx/vrml/). Bergantung pada tool yang digunakan, maka proses ini dapat diimplementasikan dengan software atau mungkin sudah diimplementasikan langsung di kartu grafiknya. Tool yang digunakan untuk mengimplementasi Graphics Pipeline ini biasanya disebut juga dengan rendering engine. Beberapa jenis rendering engine ini al: RealityLab, RenderWare, 3DR, OpenGL, Mesa, Quickdraw 3D.

Apa maksud setiap bagian proses di atas, akan secara singkat diterangkan seperti berikut:

* Local to World Transforms. Biasanya objek dibangun dengan memakai sistem koordinat lokal sebagai referensinya. Karena untuk melakukan perhitungan harus dipakai sistem referensi yang sama, maka sistem koordinat lokal ini harus ditransformasikan ke sistem koordinat referensi, biasanya disebut dengan sistem koordinat dunia.

* Lighting. Di sini dilakukan perhitungan tampakan dari permukaan objek sebagai hasil dari pencahayaan, seperti warna, transparensi, refleksi dan sebagainya.

* Viewing Transformation. Di sini titik pojok dari objek akan ditransformasi dari sistem koordinat dunia ke koordinat kamera.
* Clipping. Seperti namanya, di sini bagian yang tidak nampak akan dipotong dan tidak diproses.
* Perspective Projection and Mapping to Viewport. Untuk medapatkan kesan 3D, maka di sini dilakukan proyeksi dengan memasukkan perspektif. Hasilnya akan ditampilkan ke koordinat display.
* Rasterization. Setelah perhitungan di atas selesai, maka semua objek harus ditampilkan ke layar monitor. Di sini nilai warna setiap titik pada raster akan ditentukan.
Hirarki dan Struktur

Dunia VRML terbangun dari struktur yang terhirarki. File VRML sendiri adalah hirarki yang paling atas, yang terdiri dari header, scene-graph, prototipe dan event routing. Struktur yang paling bawah adalah node, yang terdiri dari field yang berisi properti dan informasi tentang node yang memilikinya. Secara garis besar, kumpulan dari node ini akan membangun scene-graph. Namun harus diingat, keterangan di atas hanyalah untuk mempermudah imajinasi kita dalam menggambarkan hirarki dari file VRML dan jangan diterima secara mati. Node yang berisi field inipun bisa juga berisi node lainnya, sehingga dapat membentuk struktur kaskading. Untuk jelasnya baca bagian berikut yang menjelaskan tentang node ini.

Untuk bisa membayangkan bagaimana kira-kira struktur dari VRML ini, baiklah kita lihat contoh sederhana berikut.

#VRML V2.0 utf8
Group {
children [
Shape{
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry Box{size 2 2 2}
}
]
}

Memberi Tampakan Muka

Oke, sampai sekarang kita telah dapat membuat dua macam objek 3D: kotak, dan silinder. Namun tampakan permukaan dari semua objek ini masih sama, yaitu warna permukaan objek selalu putih dengan latar belakang hitam, Nilai warna ini memang nilai default dari VRML. Untuk memberikan tampakan muka dari objek, kita harus memakai node Appearance, yang tentu saja hanya dapat digunakan dalam node Shape. Node ini mempunyai 3 field dari tipe data SFNode yaitu, material, texture dan textureTransform yang strukturnya adalah seperti berikut:

Appearance {
exposedField SFNode material NULL
exposedField SFNode texture NULL
exposedField SFNode textureTransform NULL
}

Seperti namanya, dengan node Material kita tidak hanya dapat memberikan warna muka, melainkan juga properti lain yang dimiliki oleh sebuah benda, seperti tingkat transparensi, tingkat refleksi dan sebagainya. Tentang node Material ini kita akan membahas lebih ditel lagi. Node ini mempunyai 6 field yang strukturnya demikian:

Material {
exposedField SFFloat ambientIntensity 0.2
exposedField SFColor diffuseColor 0.8 0.8 0.8
exposedField SFColor emissiveColor 0 0 0
exposedField SFFloat shininess 0.2
exposedField SFColor specularColor 0 0 0
exposedField SFFloat transparency 0
}

Berikut adalah keterangan dari masing-masing field:

* ambientIntensity adalah jumlah intensitas cahaya lingkungan yang dipantulkan oleh objek yang bersangkutan;
* diffuseColor adalah warna normal dari objek;
* emissiveColor adalah field yang digunakan untuk melakukan pemodelan terhadap sifat “mengkilat” dari objek yang bersangkutan;
* shininess adalah tingkat refleksi dari objek;
* specularColor adalah warna highlight yang digunakan pada field shininess.

Seperti terlihat, 3 variabel dari field di atas mempunyai tipe data SFColor yang digunakan untuk menggambarkan warna yang diinginkan. Di VRML tipe data ini memuat tiga variabel, masing-masing adalah variabel untuk warna merah (R), warna hijau (G) dan warna biru (B). Nilai dari warna ini diskalakan antara 0 dan 1, di mana nilai 0 berarti hitam, dan 1 adalah warna penuh yaitu putih.

Sekarang kita akan membuat objek kotak dan silinder yang telah kita buat sebelumnya agar menjadi tampak lebih hidup. Untuk itu kita akan mengeset properti material dari kedua objek tersebut. Agar kedua objek tersebut kelihatan, kita akan membuat objek kotak menjadi transparan dan mempunyai sifat “berkilap” dengan warna 0 0,8 0. Sedang objek silinder hanya akan kita kasih warna biru (0 0 1). Source code untuk itu adalah seperti berikut:

#VRML V2.0 utf8 Tutorial mwmag
Shape{
appearance Appearance {
material Material {
emissiveColor 0 0.8 0
transparency 0.5
}
}
geometry Box {
size 4 1 2
}
}
Shape{
appearance Appearance {
material Material {
diffuseColor 0 0 1
}
}
geometry Cylinder {
height 3
radius 1
}
}

Tidak ada komentar:

Posting Komentar

dtw15t3r.blogspot.com