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 utf8Bu 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:
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 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:
vrmL ölü dogan bir bebek gibidir arkadaslar.
bırakalım bu işleri.
AJAX dan bahsedin...
web2.0
yauuwww
yauuuww
ilerleyin artıkhh
_________________
tnl
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.
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
Yorum Gönder