X3D
X3D – standard ISO oparty na XMLowym formacie pliku służący do przedstawiania komputerowej grafiki 3D. Jest on następcą Virtual Reality Modeling Language (VRML)[1]. X3D wprowadza rozszerzenia do VRML (np. Humanoid animation, NURBS, GeoVRML, itp.), zdolność do kodowania sceny zarówno w składni XML, jak i w składni analogicznej do składni programu Open Inventor używanej w VRML97, lub w formatowaniu binarnym, a także rozszerzone interfejsy programowania aplikacji (API).
Rozszerzenie X3D wspiera wielostopniowy i wieloteksturowy rendering, ono także obsługuje cieniowanie w oparciu o lightmap i normalmap. W 2010 X3D wspiera odroczone architektury renderingu. Teraz X3D może importować SSAO i CSM i Realtime Environment Reflection/Lighting, ale nie musi troszczyć się dużo o liczbę wielokątów. Użytkownik może również używać optymalizacji jak BSP/QuadTree/OctTree lub cullingu w scenie X3D.
X3D może współdziałać z innymi standardami Open Source, takimi jak XML, DOM i XPath. Użytkownik może łatwo rozwijać narzędzia treści takie jak eksporter i edytor, te narzędzia 3D czynią tworzenia treści i optymalizację łatwymi zadaniami.
Spis treści |
Standaryzacja [edytuj]
X3D definiuje szereg profili (zestawów komponentów) dla różnych poziomów obsługi, takich jak X3D Core, X3D Interchange, X3D Interactive, X3D CADInterchange, X3D Immersive, X3D Geospatial i X3D Full. Producenci przeglądarek mogą zdefiniować własne rozszerzenia komponentów przed zgłoszeniem ich do standaryzacji przez Konsorcjum Web3D. Formalna recenzja i akceptacja jest wtedy dokonywana przez Międzynarodową Organizację Normalizacyjną (ISO).
Współpraca i porozumienia o współpracy są także na miejscu pomiędzy Web3D Consortium i World Wide Web Consortium (W3C), Open Geospatial Consortium (OGC), Digital Imaging and Communications in Medicine (DICOM) i Khronos Group.
Podzbiorem X3D jest XMT-A, wariant XMT zdefiniowany w MPEG-4 Część 11. Został on skonstruowany w celu ustanowienia połączenia między X3D i treścią 3D w MPEG-4 (BIFS)
Abstrakcyjna specyfikacja dla X3D (ISO/IEC 19775) została po raz pierwszy zatwierdzona przez ISO w 2004 roku. Kodowania XML i ClassicVRML dla X3D (ISO/IEC 19776) zostały po raz pierwszy zatwierdzone w 2005 roku[2]. Powyższe zagadnienia są omówione na stronie X3D FAQ – "What is the status of the X3D specification?".
Aplikacje [edytuj]
Istnieje szereg aplikacji, większość z nich o otwartym kodzie źródłowym[3], które natywnie przetwarzają i interpretują pliki X3D, w tym edytor grafiki 3D i animacji Blender[4] i klient świata wirtualnego Project Wonderland Sun Microsystems[5]. Applet X3D jest oprogramowaniem, które działa w przeglądarce internetowej, która wyświetla zawartość w 3D używając technologii grafiki 3D OpenGL do wyświetlania treści X3D w kilku różnych przeglądarkach (IE, Safari, Firefox) poprzez kilka różnych systemów operacyjnych[6](Windows, Mac OS X, Linux). Jednak zastosowanie X3D nie zyskało szerszej popularności w innych, bardziej popularnych i własnościowych aplikacjach programowych, takich jak Second Life.
Od roku 2000, wiele firm takich jak Bitmanagement udoskonaliło poziom jakości efektów wirtualnych w X3D 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[7], Multiteksturowanie[8], Cieniowanie ze wsparciem dla HLSL oraz GLSL[9], Renderowanie do tekstur w czasie rzeczywistym, wsparcie dla Multi Render Target (MRT) i postprocesingu[10]. Wiele dem pokazuje że X3D od dawna wspiera lightmapy, mapowanie normalnych, SSAO, CSM oraz odbicia środowiskowe w czasie rzeczywistym, wraz z innymi efektami wirtualnymi[11].
X3D walczy o stanie się standardem 3D dla sieci internetowej jako standard zintegrowany ze stronami HTML 5 na tej samej zasadzie jak są z nimi zintegrowane inne dialekty XML (MathML, SVG) które już tam są zaimplementowane. X3DOM jest proponowanym modelem składni i jego implementacja jako biblioteka skryptowa[12] która pokazuje jak ta integracja może być osiągnięta bez wtyczki przeglądarkowej, używa tylko WebGL i JavaScript[13].
Przykład [edytuj]
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "http://www.web3d.org/specifications/x3d-3.2.dtd"> <X3D profile="Interchange" version="3.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation=" http://www.web3d.org/specifications/x3d-3.2.xsd "> <Scene> <Shape> <IndexedFaceSet coordIndex="0 1 2"> <Coordinate point="0 0 0 1 0 0 0.5 1 0"/> </IndexedFaceSet> </Shape> </Scene> </X3D>
Alternatywy [edytuj]
- 3DMLW: 3D Markup Language for Web
- Active Worlds
- Additive Manufacturing File Format
- COLLADA: zarządzana przez Khronos Group
- O3D: rozwijany przez Google
- Unity3D: silnik gry mogący być użyty online poprzez wtyczkę przeglądarki
- U3D: Ecma International standard ECMA-363
- VRML: poprzednik X3D
- WebGL: Web Graphics Library, API JavaScript dla grafiki 3D
Zobacz też [edytuj]
- Active Worlds, wieloużytkownikowa platforma wirtualna do rozmów 3D
- Blaxxun, wieloużytkownikowa platforma rzeczywistości wirtualnej do rozmów 3D
- Flux, darmowy edytor/przeglądarka VRML/X3D, obecnie nie rozwijany
- FreeWRL, darmowa przeglądarka VRML/X3D
- MeshLab, darmowy system przekształcania brył eksportujący VRML/X3D
- OZ Virtual
- Seamless3d, darmowe oprogramowanie modelujące 3D dla Microsoft Windows
- Virtual tour
- Virtual Environment Software
- Web3D
- XML Paper Specification
Przypisy
- ↑ Paul Festa and John Borland – Is a 3D web more than just empty promises?
- ↑ X3D FAQ – What is the status of the X3D specification?.
- ↑ X3D Open Source Projects
- ↑ Blender Model Export to X3D
- ↑ Project Wonderland
- ↑ X3D applet
- ↑ DrawGroup & DrawOp
- ↑ Multitexturing
- ↑ Programmable shaders component
- ↑ Scene postprocessing support
- ↑ VRML X3D and Realtime Web3D
- ↑ X3DOM JavaScript library
- ↑ X3D and HTML5: X3DOM proposal, Web3D wiki
Linki zewnętrzne [edytuj]
Przykładowe dokumenty kodu X3D [edytuj]
- X3D examples from the X3D Sourcebook (aby uzyskać przykładowy kod X3D, kliknij na rozdział, a następnie na przykład)
- http://www.web3d.org/x3d/content/examples/HelloWorld.x3d
- http://www.web3d.org/x3d/content/examples/HelloWorld.x3dv
- http://www.web3d.org/x3d/content/examples/HelloWorld.x3db
- http://cic.nist.gov/vrml/nistlogo.x3d
Przykładowe dokumenty kodu X3DOM [edytuj]
- Przykłady X3DOM wyświetlające zaimplementowane cechy i przykładowe aplikacje używające X3D zagnieżdżone bezpośrednio w HTML
- Logo NIST wyświetlane poprzez X3DOM
Ogólne [edytuj]
- X3D Resources, X3D Conversions, X3D Books i X3D Examples
- Player support for X3D components i Tool support for X3D components
- VRML and X3D Plugin Detector określa które wtyczki VRML i X3D są zainstalowane w przeglądarce internetowej
- X3D w Open Directory Project
- Lista darmowych projektów X3D utrzymywana przez web3d.org
- X3D Worlds darmowe światy X3D