VRML
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Apartment.png/220px-Apartment.png)
VRML (ang. Virtual Reality Modelling Language), pol. język modelowania rzeczywistości wirtualnej, początkowo znany przed 1995 jako ang. Virtual Reality Markup Language – wolny od tantiem standard formatu pliku, opisujący grafikę trójwymiarową (3D), interaktywną grafikę wektorową, projektowaną głównie z myślą o stronach WWW. VRML został zastąpiony przez X3D (Extensible 3D)[1].
Format pliku WRL
[edytuj | edytuj kod]Plik VRML jest to plik tekstowy, gdzie np. wierzchołki i krawędzie wielokątów mogą być opisane dodatkowymi cechami takimi jak: kolor powierzchni, mapowanie tekstur UV, odblaskowość powierzchni materiału, przeźroczystość i innymi parametrami[2][3].
Formaty URL mogą być przypisane do komponentów graficznych, które przeglądarka internetowa może pobrać ze strony internetowej lub do innych plików VRML z internetu, kiedy użytkownik kliknie określony komponent graficzny. Animacje, dźwięki, światła i inne aspekty oraz elementy wirtualnego świata mogą wchodzić w interakcję z użytkownikiem lub być inicjowane zewnętrznie przez programowanie zdarzeniowe takie jak liczniki (stopery). Specjalny węzeł Script pozwala dodawać do pliku VRML kod programu (np. napisany w językach Java lub ECMAScript (podzbiór JavaScript)).
Pliki VRML są powszechnie nazywane światami i mają rozszerzenie *.wrl (np. mapa_miasta.wrl). Pliki VRML są zapisane w zwykłym formacie tekstowym i generalnie dobrze się kompresują za pomocą GNU zip, który jest użyteczny do przyspieszenia transferu danych przez internet. (niektóre pliki spakowane gzipem używają rozszerzenia *.wrz)
Wiele programów służących do modelowania 3D może zapisywać zarówno obiekty, jak i sceny w formacie VRML.
Standaryzacja
[edytuj | edytuj kod]Konsorcjum Web3D zostało powołane do dalszego zbiorowego opracowywania tego formatu. VRML (i jego następca, X3D), zostały zaakceptowane jako międzynarodowe standardy przez International Organization for Standardization (ISO) oraz przez International Electrotechnical Commission (IEC). Pierwsza wersja VRML została wydana w listopadzie 1994 roku. Ta wersja wywodziła się i dokładnie przypominała API i format pliku modułu programowego Open Inventor, początkowo zaprojektowanego przez Silicon Graphics. Rozwój wersji 2.0 był kierowany przez doraźną organizację „VRML Architecture Group (VAG)”[4]. Wersja robocza została opublikowana w sierpniu 1996.[5] Formalna współpraca pomiędzy VAG a SC24 podlegające ISO rozpoczęła się w 1996[6], po czym VRML 2.0 został zgłoszony do ISO celem wdrożenia jako standard międzynarodowy. Bieżącą i w pełni funkcjonalną kompletną wersją jest VRML97 (ISO/IEC 14772-1:1997). VRML obecnie został wyparty przez format X3D (ISO/IEC 19775-1).
Pojawienie się, popularność i konkurencyjne uaktualnienia techniczne
[edytuj | edytuj kod]Wyrażenie VRML zostało wymyślone przez Dave’a Raggetta w sprawozdaniu zatytułowanym „Extending WWW to support Platform Independent Virtual Reality”[7] przedstawionym na Pierwszej Konferencji WWW[8] w 1994 roku i po raz pierwszy dyskutowane na WWW94 VRML BOF ustanowionym przez Tima Bernersa-Leego, gdzie Mark Pesce zaprezentował demo Labyrynth zaprojektowane wraz z Tonym Parisim[9] i Peterem Kennardem[10]. VRML został ujawniony dla szerszej publiczności na targach SIGGRAPH Course, VRML: Using 3D to Surf the Web[11] w sierpniu 1995. W październiku 1995, w Internet World, Template Graphics Software (TGS) zademonstrował wtyczkę 3D/VRML dla wydania beta Netscape 2.0 od Netscape Communications[12]. Mark Pesce i Tony Parisi szybko zaadaptowali się do nowej implementacji, pomagając wprowadzać nowy standard do otwartej wspólnoty, podczas gdy w tym samym czasie grupowali kadrę innych rozwijających przeglądarki i publikowali książki dotyczące ekscytującego nowego standardu. Na końcu ponad 30 przeglądarek VRML zostało wytworzonych, wiele wykorzystujących pakiet autorski Open Inventor. SGI i TGS.com pozostają, i, podczas gdy zapał dla VRML przeminął, 3D weszło do głównego nurtu poprzez filmy z rodzaju Pixar i mnóstwo gier komputerowych. W październiku 1995 Silicon Graphics i TGS.com, przewodzeni odpowiednio przez Rikka Careya i Roberta Weidemana, zaskoczyli raczkującą grupę dyskusyjną VRML przez wprowadzenie kompletnego 3D dla implementacji sieciowej opartej na SGI Open Inventor, zaawansowanym pakiecie autorskim 3D, zasadniczo kooptując wkład VRML. Wspierani przez 15 sprzętowych i programowych liderów, w tym Apple, IBM, HP, Netscape, SGI i TGS.com wprowadzili pierwszą przeglądarkę VRML 3D, WebSpace Navigator na targach Internet World w tym samym miesiącu, wraz z SGI dostarczającym przeglądarkę dla ich platformy UNIX i TGS dostarczającym wersje dla platform Windows, Sun, HP i IBM. Jako wynik VRML 1.0, i w dużym stopniu VRML 2.0 były oparte na podzbiorze struktury Open Inventor 3D.[13]
W 1997 nowa wersja formatu została ukończona jako VRML97 (także znany jako VRML2 lub VRML 2.0), i została standardem ISO/IEC. VRML97 był wykorzystywany w Internecie na prywatnych stronach WWW oraz stronach takich jak „CyberTown”, oferujących pogawędki 3D (ang. 3D chats) za pośrednictwem oprogramowania Blaxxun, czy też za pomocą programu Sony SAPARi, który był preinstalowany na komputerach Vaio od 1997 do 2001.[14] Format był wspierany przez oddział SGI – Cosmo Software, a kiedy SGI został zrestrukturyzowany, oddział ten został sprzedany oddziałowi VREAM firmy Platinum Technologies, który to oddział z kolei został przejęty przez Computer Associates, który już nie rozwijał ani nie sprzedawał tego oprogramowania. W celu wypełnienia pustki, wiele własnościowych formatów Web3D pojawiło się w następnych latach, włączając w to Microsoft Chrome i Adobe Atmosphere, z których żaden nie jest obecnie wspierany. Zdolności VRML pozostały nadal te same, podczas gdy grafika 3D czasu rzeczywistego była ciągle ulepszana. Konsorcjum VRML zmieniło nazwę na Konsorcjum Web3D i rozpoczęło prace nad następcą VRML – X3D[15].
SGI prowadził stronę internetową pod adresem vrml.sgi.com na której był czynny ciąg krótkich regularnych występów bohatera o imieniu „Floops” który był VRMLowym bohaterem w świecie VRML. Floops był tworem firmy o nazwie „Protozoa”[16][17].
H-Anim jest standardem animacji humanoidów i jest zbudowany wokół VRML, a potem wokół X3D. Początkowa wersja 1.0 standardu H-Anim została wyznaczona do zatwierdzenia na końcu marca 1998[18].
VRML wzbudził wiele zainteresowania, ale nigdy nie uświadczył wielu poważnych powszechnych zastosowań[19]. Jednym z powodów takiej sytuacji był brak dużej przepustowości sieci[20]. W czasach popularności VRML, większość użytkowników, zarówno biznesowych, jak i domowych, używało powolnego wdzwanianego dostępu do Internetu. Spowodowało to niefortunny efekt uboczny zmuszania użytkowników do długiego czekania jedynie po to by znaleźć blokowaty, źle oświetlony pokój ze zniekształconym tekstem wiszącym w pozornie przypadkowych miejscach[21].
Eksperymenty z VRML istniały głównie w edukacji i badaniach naukowych, gdzie otwarta specyfikacja jest najbardziej ceniona[22]. Jest on teraz zdefiniowany na nowo jako X3D. Profil interaktywny MPEG-4 (ISO/IEC 14496) był oparty na VRML (teraz na X3D) i X3D jest w większości zgodny wstecznie z nim.[23] VRML jest także szeroko stosowany jako format plikowy służący do wymiany modeli 3D, głównie z systemów CAD[24]. VRML mógł zniknąć z reklam i wielu głównych korporacji produkujących przeglądarki, ale nie z użycia.
Darmowy multiplatformowy pakiet uruchomieniowy VRML jest dostępny w OpenVRML. Jego biblioteki mogą być użyte do dodawania wsparcia zarówno VRML, jak i X3D do aplikacji, a wtyczka GTK+ jest dostępna do renderowania światów VRML/X3D w przeglądarkach internetowych.
W eseju zamieszczonym w Computergram International z 17 września 1998, zatytułowanym „VRML Versus Chromeffects: Microsoft Replies”, Rachel Chalmers biorąc pod uwagę oparcie ChromEffects na 56 multimedialnych znacznikach XML[25][26] ostro skrytykowała VRML jako standard pozbawiony integracji z HTML. Nie skrytykowała ona X3D (chociaż rozwiniętego zarówno z VRML, jak i XML), ponieważ X3D oryginalnie posiadał już tę integrację. Jednakże VRML przeżył Chromeffects, unieważniony w listopadzie 1998[27].
Od roku 2000, wiele firm takich jak Bitmanagement udoskonaliło poziom jakości efektów wirtualnych w VRML do poziomu jakości DirectX 9.0c, chociaż za cenę używania własnościowych rozwiązań. Wszystkie główne cechy takie jak modelowanie gry są już od dawna gotowe. Zaliczają się do nich wielościeżkowe renderowanie z niskopoziomowymi ustawieniami Bufor Z, BlendOp, AlphaOp, Stencil[28], Multiteksturowanie[29], Cieniowanie ze wsparciem dla HLSL oraz GLSL[30], Renderowanie do tekstur w czasie rzeczywistym, wsparcie dla Multi Render Target (MRT) i Postprocessingu[31]. Wiele dem pokazuje że VRML od dawna wspiera mapy świetlne, mapy normalnych, SSAO, CSM oraz odbicia środowiskowe w czasie rzeczywistym, wraz z innymi efektami wirtualnymi[32].
Przykład
[edytuj | edytuj kod]Niniejszy przykład pokazuje tą samą scenę co X3D#Przykład. Reprezentacja X3D jest taka sama jak poniższy przykład, z wyjątkiem zmiany linii wersji na treść odzwierciedlającą najnowszy standard VRML (#VRML V2.0 utf8
).
#VRML V2.0 utf8
Shape {
geometry IndexedFaceSet {
coordIndex [ 0, 1, 2 ]
coord Coordinate {
point [ 0, 0, 0, 1, 0, 0, 0.5, 1, 0 ]
}
}
}
Wczesny krytycyzm
[edytuj | edytuj kod]W eseju ACM z marca 1998 roku "Playfulness in 3D Spaces - Why Quake is better than VRML, and what it means for software design", Clay Shirky ostro skrytykował VRML jako "technologię w poszukiwaniu problemu", podczas gdy "Quake coś robi dobrze zamiast wielu rzeczy kiepsko… Społeczności VRML nie udało się wymyślić niczego tak przekonującego – nie pomimo najlepszych intencji społeczności, ale z ich powodu.Za każdym razem, gdy praktycy VRML podchodzą do problemu, jak przedstawić przestrzeń na ekranie, nie mają oni żadnego konkretnego powodu, aby dokonywać jakiegoś szczególnego kompromisu między szczegółami a szybkością renderowania lub tworzeniem obiektów a tworzeniem przestrzeni, ponieważ VRML nie służy do niczego poza nim samym. Często zdarza się, że konkretna, krótkoterminowa potrzeba rozwiązania problemu przenosi zalety projektu w ich ostre skupienie, oraz zapewnia mu wystarczającą jasność, aby mógł żyć samodzielnie".[33]
Zobacz też
[edytuj | edytuj kod]- Flux, darmowy edytor i przeglądarka VRML/X3D, obecnie nie rozwijany
- Konsorcjum Web3D
- Seamless3d, darmowe oprogramowanie modelujące 3D dla Microsoft Windows
- STL, STereoLithography lub Standard Tessellation Language, wspólny dla programów CAD i drukarek 3D
- Web3D
- WebGL
Przypisy
[edytuj | edytuj kod]- ↑ Paul Festa and John Borland – Is a 3D web more than just empty promises?. [dostęp 2009-11-12]. [zarchiwizowane z tego adresu (2009-11-12)].
- ↑ Version 1.0 Specification. web3d.org. [zarchiwizowane z tego adresu (2014-06-14)]..
- ↑ VRML Version 1.0 Specification.
- ↑ Ando Hideyuki, Kubota Akihiro, Kiriyama Takashi; Study on the collaborative design process over the Internet: a case study on VRML 2.0 specification design; Design Studies.
- ↑ VRML Version 2.0 Specification.
- ↑ [Carson George, Puk Richard, Carey Rikk; Developing the VRML 97 international standard; IEEE Computer Graphics and Applications].
- ↑ Dave Raggett (1994) – Extending WWW to support Platform Independent Virtual Reality.
- ↑ First WWW Conference.
- ↑ Media Machines Management. mediamachines.com. [zarchiwizowane z tego adresu (2008-03-02)]..
- ↑ Peter Kennard’s page.
- ↑ Hardenbergh Jan, Bell Gavin, Pesce Mark; Course 12 – VRML: Using 3D to Surf the Web; ACM SIGGRAPH.
- ↑ First 3D/VRML Plug-in for Netscape 2.0 shown by TGS; TGS extends leadership in Internet 3D products and technology. AllBusiness.com.
- ↑ VRML Browsers. iat.ubalt.edu. [zarchiwizowane z tego adresu (2012-04-26)]..
- ↑ 17th anniversary of the launch of "Sapari" service and the sale of VAIO business, Tsunetake Noma.
- ↑ A Commentary on GeoVRML.
- ↑ Floops general narrative. biota.org. [zarchiwizowane z tego adresu (2009-12-02)]..
- ↑ Floops in his first episode.
- ↑ VRML Consortium Charter for Humanoid Animation Working Group. h-anim.org. [zarchiwizowane z tego adresu (2017-01-06)]..
- ↑ David Sabine: What is (was) VRML?
- ↑ Introduction to VRML.
- ↑ Ghosts in the Machine: 12 Coding Languages That Never Took Off. softwaredeveloper.com. [zarchiwizowane z tego adresu (2012-01-18)]..
- ↑ Web-Based Control and Robotics Education, page 30.
- ↑ 3D Online: Browser Plugins and More.
- ↑ XML Matters. ibm.com. [zarchiwizowane z tego adresu (2012-10-24)]..
- ↑ Rachel Chalmers: VRML Versus Chromeffects: Microsoft Replies (BNET).
- ↑ Rachel Chalmers: VRML Versus Chromeffects: Microsoft Replies (CBR).
- ↑ Microsoft Debuts Chromeffects; Microsoft Shelves Chromeffects.
- ↑ DrawGroup & DrawOp.
- ↑ Multitexturing. web3d.org. [zarchiwizowane z tego adresu (2012-01-03)]..
- ↑ Programmable shaders component. web3d.org. [zarchiwizowane z tego adresu (2011-11-28)]..
- ↑ Scene postprocessing support.
- ↑ VRML X3D and Realtime Web3D.
- ↑ Shirky, Clay (March 1998). "Playfulness in 3-D Spaces - Why Quake is better than VRML". Clay Shirky's Writings About the Internet.
Linki zewnętrzne
[edytuj | edytuj kod]- VRML w katalogu Open Directory Project (ang.)
- VRML examples from the VRML Sourcebook (aby uzyskać przykładowy kod VRML, należy kliknąć na rozdział, a następnie na przykład) (ang.)
- http://www.web3d.org/x3d/content/examples/HelloWorld.wrl (ang.)
- Archiwa VRML. web3d.org. [zarchiwizowane z tego adresu (2014-05-28)]. (ang.)
- Dokumentacja VRML z przypisami. accad.osu.edu. [zarchiwizowane z tego adresu (2007-01-09)]. (ang.)
- Standard VRML ISO/IEC 14772 – oficjalna specyfikacja języka VRML (ang.)
- Opis VRML i X3D (ang.)
- Extensible 3D XML spotyka VRML (ang.)
- Artykuły autorstwa Sandy’ego Resslera, początkowo na stronie www.about.com (ang.)