X3D
Z Wikipedii, wolnej encyclopedia
X3D (ang. eXtensible 3D), pol. rozszerzalny trójwymiar – wolny od tantiem standard ISO/IEC służący do deklaratywnej reprezentacji komputerowej grafiki 3D. X3D obejmuje wiele formatów plików graficznych, definicje języka programowania API oraz specyfikacje dla czasu uruchamiania, zarówno w celu dostarczania, jak i integracji interaktywnych danych 3D z obsługą sieci. Standard X3D w wersji 4.0 został zatwierdzony przez Konsorcjum Web3D i jest poddany ostatecznemu przeglądowi przez ISO/IEC jako poprawiony standard międzynarodowy.
X3D został specjalnie zaprojektowany do pracy na różnych urządzeniach przy użyciu architektury sieciowej. X3D zapewnia szereg funkcji 3D poprzez profile, począwszy od podstawowego profilu Asset Interchange i CADInterchange a kończywszy na Interactive, MPEG-4 Interactive, Medical, Immersive, i Full. Anatomicznie dokładne wsparcie jest również dostępne dla struktury ciała i ruchu w profilu Humanoid Animation (HAnim). „X” w X3D oznacza „Extensible” czyli rozszerzalny: do standardowej funkcjonalności można dodawać niestandardowe rozszerzenia komponentów dostawców i komponentów eksperymentalnych.
Wsparcie skryptowych formatów plików obejmuje XML, ClassicVRML, Compressed Binary Encoding (CBE) i podstawowe kodowanie JSON. Wsparcie Semantic Web zostało również zademonstrowane przez składnię kodowania żółwia. X3D został następcą Virtual Reality Modeling Language (VRML) w roku 2001[1]. X3D wprowadza rozszerzenia do VRML (np. CAD, Geospatial, GeoVRML, Humanoid animation, NURBS 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 też w formatowaniu binarnym, a także rozszerzone interfejsy programowania aplikacji (API), w tym ECMAScript, Java, Python i inne języki programowania.
Rozszerzenie X3D wspiera wielostopniowe i wieloteksturowe renderowanie, ono także obsługuje cieniowanie w oparciu o mapy świetlne i mapy normalnych. Począwszy od 2010 X3D zaczął wspierać odroczone architektury renderingu. Obecnie X3D może importować SSAO, CSM i Realtime Environment Reflection/Lighting, ale nie musi troszczyć się bardzo o liczbę wielokątów. Użytkownik może również używać optymalizacji w tym BSP/QuadTree/OctTree lub redukcji trójkątów w scenie X3D.
Renderowanie X3D obejmuje zarówno klasyczne (np. Blinn-Phong), jak i nowoczesny rendering bazujący na fizyce pasujący do możliwości glTF 2.0. Użycie niestandardowych shaderów przy użyciu trzech języków shaderów specyficznych dla platformy jest także zdefiniowane. Autorzy mogą korzystać z bogatych możliwości multimedialnych, zawierających różne formaty obrazów i filmów. W pełni przestrzenne renderowanie dźwiękowe wykorzystuje możliwości dźwięku API Web Audio od W3C oraz wejścia audio digitalizowane przy użyciu MIDI 2.0 lub innych formatów dźwięku.
Wszystkie kodowania plików X3D i interfejsy API języka programowania mają równoważną moc ekspresji, odpowiadającą definicjom funkcjonalnym w standardzie architektury X3D. Dlatego X3D może pracować z otwartymi standardami, w tym XML, Document Object Model (DOM), XPath i innymi.
X3D może współdziałać z innymi standardami Open Source, w tym 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.