![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Cilindro_x3d.png/640px-Cilindro_x3d.png&w=640&q=50)
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.
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Cilindro_x3d.png/320px-Cilindro_x3d.png)
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.