VRML Nedir?

VRML, ilk ciddi Web3D teknolojisidir ve 1994 yılından bu yana yoğun olarak kullanılmıştır. ISO (International Standards Organization) tarafından uluslararası standart olarak kabul edilmiştir. VRML, etkileşimli üç boyutlu nesne ve ortamları tanımlamayı sağlayan basit metinsel bir dildir. VRML dosyalarının uzantısı .wrl’dir. VRML-NG yani X3D, 1999 yılında, üç boyutu her ortama taşıma çabaları sonucunda ortaya çıkmıştır. VRML’in XML (Extensible Markup Language) ile temsil edilmesini sağlamanın yanında NURBS yüzeylerinde ve Desen Kaplamada yenilikler getirmiştir. (Bkz: Coreweb3d)

VRML dosyası dört bileşenden oluşur:
a)VRML Başlığı,
b)Prototip (“Prototype”), şekil (“Shape”), interpolator (“Interpolator”), algılayıcılar (“Sensor”)
c) Betimler (“Script”)
d) Rotalar (“Route”).

Bir VRML dosyasında mutlaka olması gereken tek şey başlık bilgisidir. Bu bilgi # işareti ile başlamaktadır. Ve genellikle #VRML V2.0 utf8 şeklindedir. Bu ifade bu dosyanın bir VRML 2.0 kodu içerdiğini ve karakter standardı olarak utf8 kullandığını belirtmektedir. (Kod 1)

VRML, dosyalar, şekiller ve VRML dünyasının özelliklerini tanımlayan düğümler (node) içerebilir. Her bir düğüm, şekilleri, renkleri, bakış noktalarını, dönüşümleri vb. özellikleri tanımlar. Düğümler zorunlu olarak düğüm tipi ve ek olarak düğümün özelliklerini belirten ek sahalar içerir. En çok kullanılan düğümlere örnek olarak “Shape”, ”PointSet”, “IndexedLineSet”, “IndexedFaceSet”, “Material”, “Color”, “Text”, “Transform”, “PixelTexture”, “Normal” düğümlerini gösterebiliriz (Ayrıntılı bir liste için bkz. Node Reference).
VRML’in son sürümleriyle birlikte kazandığı en önemli avantaj EAI (“External Authoring Interface”) standart tanımlaması yardımıyla VRML tarayıcılarının Javascript ve Java dilleri ile yazılmış programlarla etkileşimli olarak çalışmasıdır. Bu kodlar VRML’in veya tarayıcının kendi API’ler yardımıyla ve “Script” düğümü sayesinde VRML kodu içine gömülebilmekte veya kodun içinden çağrılabilmektedir.


Kod 1 : Basit bir kırmızı renkte silindir oluşturan VRML kodu
#VRML V2.0 utf8
DEF dad_Cylinder1 Transform {
translation -.02635 0 0
children [ DEF Cylinder1 Shape {
appearance Appearance {
material DEF Red_mat Material {
ambientIntensity 0.200
shininess 0.200
diffuseColor 1 0 0
}
}
geometry Cylinder {
height 2.000
radius 1.000
}
}
]
}
Bu kodu *.wrl uzantılı bir dosya içine kaydedip çalıştırabilirsiniz. Ancak çalıştırabilmek için VRML eklentisine ihtiyacınız var. Bu eklentiler hakkında daha fazla bilgiyi ve tarayıcınızda eklenti olup olmadığını şuradan öğrenebilirsiniz. Eklentiyi yükledikten sonra bu kodu yazdığınız dosyayı tarayıcınızla açıp oluşan görüntüyü inceleyebilirsiniz. Aşağıdaki resimde benim bilgisayarımda bu kodun oluşturduğu görüntü vardır:

Bu görüntü B S C o n t a c t V R M L / X 3 D eklentisi kullanılarak alınmıştır. Eklentiyi siteden indirip kurabilirsiniz. Ancak sağ tarafında (eğer satın almazsanız) şirket adı görülmektedir.

VRML gelişip X3D halini almıştır. Ancak VRML'in basit metin kodlaması X3D'de de bir kodlama olarak kullanılmaktadır. VRML hakkında daha fazla bilgi için (özellikle öğrenmek için) aşağıdaki ingilizce siteleri dolaşabilirsiniz. Ben VRML konusunda çalışma yapmadığım için bu konuda bundan daha iyi bir öğrence yazmam mümkün olmayabilir. En iyisi siz bu konulara meraklı iseniz benim X3D öğrencemi bekleyin :D

Kaynak: Akademik Bilişim 2005 X3D ile İnternet Üzerinde Üç Boyut yayını

VRML Siteleri:
http://www.programlama.com/sys/c2html/view.php3?DocID=540
http://tecfa.unige.ch/guides/vrml/vrmlman/
http://www.lighthouse3d.com/vrml/tutorial/
Öğrenceler : http://www.web3d.org/x3d/vrml/tutorials/
(Daha fazlası için : http://www.google.com.tr/search?q=VRML+Tutorial)

Örnekler:
http://www.sv.vt.edu/classes/vrml/NCSA_VRML_Tutorial/examples.html
http://yll.hkcampus.net/~yll-tcc/vrml/startup.htm
(Daha fazlası için : http://www.google.com.tr/search?q=vrml+examples)
Kitap:
http://www.wiley.com/legacy/compbooks/vrml2sbk/cover/cover.htm

3 yorum:

Adsız dedi ki...

vrmL ölü dogan bir bebek gibidir arkadaslar.
bırakalım bu işleri.

AJAX dan bahsedin...
web2.0

yauuwww
yauuuww
ilerleyin artıkhh

_________________
tnl

T. E. Kalaycı dedi ki...

Aslında doğru olsa da VRML'in daha sonraki 3 boyutlu web teknolojileri için önemli bir adım olduğunu unutmamak gerekir.
Ajax ve Web 2.0 kavramları VRML veya X3D ile ilgi kurulamıyacak kavramlardır. Ajax ve Web 2.0 kavramları, etkileşimli web olayını daha kullanıcı dostu bir hale getirmeye çalışmaktır. Ancak Web3D kavramı görselliği arttırmak ve 3B dosya biçimi oluşturup transfer etmek üzerine odaklanmıştır. Web3D'nin amacı kullanıcının gerçek dünyadaki 3B algısını web üzerinde de aynen yaşatabilmektir.

Adsız dedi ki...

vrmL ölü dogan bir bebek gibidir arkadaslar.
bırakalım bu işleri.

AJAX dan bahsedin...
web2.0
diyen arkadaş bence ajaxuda bilmiyor. Yada yeni başlamış güzel bir yazı olmuş tebrikler...

blogum: www.ykaratoprak.blogspot.com