X3D

X3D - 可擴展的3D圖形
文件名擴展名
  • .x3d(XML), .x3dv(純文本; v = vrml),.x3db, .x3dz, .x3dbz, .x3dvz(壓縮; b =二進制,z = gzip)
互聯網媒體類型
  • model/x3d+xml
  • model/x3d+vrml
  • model/x3d+binary
初始發行1997
最新發布
4.0
2023
格式的類型3D計算機圖形
VRMLXMLGZIP
標準ISO / IEC 19775/19776/19777
網站www.web3d.org/x3d/what-x3d/

X3D可擴展3D )是一組無特許權使用權限的ISO/IEC標準,用於聲明代表3D計算機圖形。 X3D包括多個圖形文件格式,編程語言API定義以及用於交互式網絡功能的3D數據的運行時規範。 X3D版本4.0已獲得Web3D財團的批准,並由ISO/IEC作為修訂的國際標準(IS)進行最終審查。

X3D專門設計用於使用Web體系結構跨不同設備的工作。 X3D通過配置文件提供了3D功能的範圍,從基本資產交換和CadinterChange到Interactive,MPEG-4 Interactive,Medical,Immersive和Full Cropiles。解剖學上徹底的支持也可用於人體動畫(Hanim)身體結構和運動。 X3D中的“ X”表示可擴展:可以將自定義供應商和研究組件擴展添加到標準功能中。

X3D文件格式支持包括XML ,Classicvrml,壓縮二進制編碼(CBE)和JSON編碼草案。烏龜編碼也證明了語義網絡支持。 X3D於2001年成為虛擬現實建模語言(VRML)的繼任者。X3D為VRML提供了多個擴展(例如CADGeoSpatialhumanoiole AnimationNurbs等),可以使用XML語法以及使用XML語法以及使用XML語法編碼場景的能力vrml97或二進制壓縮的開放式發明家語法,具有強烈鍵入的API,包括ecmascriptJavaPython和其他編程語言。

X3D渲染包括經典(例如Blinn-Phong )和現代基於物理的渲染方法(PBR)方法,與GLTF 2.0功能相匹配。還定義了使用三種平台特定著色器語言使用自定義著色器。作者可以採用豐富的多媒體功能,包括各種圖像和電影格式。完全空間化的聽覺渲染應用W3C Web音頻API功能,以及使用MIDI 2.0或其他聲音格式數字化的音頻輸入。

所有X3D文件編碼和編程語言API都具有等效的表達能力,在X3D體系結構標準中具有匹配的功能定義。因此,X3D可以使用開放標準,包括XML文檔對像模型(DOM)XPATH等。


例子

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "http://www.web3d.org/specifications/x3d-4.0.dtd">
<X3D profile="Interchange" version="4.0"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance"
     xsd:noNamespaceSchemaLocation="http://www.web3d.org/specifications/x3d-4.0.xsd">
  <Scene>
    <Shape DEF="MyTriangle">
      <IndexedFaceSet coordIndex="0 1 2">
        <Coordinate point="0 0 0 1 0 0 0.5 1 0"/>
      </IndexedFaceSet>
    </Shape>
  </Scene>
</X3D>

VRML表示與VRML§相同,只是更改了版本編號以反映最新的X3D標準(#X3D V4.0 utf8)。識別DEF名稱也被應用於節點標識符(ID)。

有關JSON和二進制格式,請參見Web3D以獲取工具列表。

申請

有幾種應用程序,其中大多數是開源軟件,它們本地解析和解釋X3D文件,包括3D圖形和動畫編輯器Blender和Sun Microsystems虛擬世界客戶端項目仙境。 X3D小程序是一個軟件程序,它在Web瀏覽器中運行並在3D中顯示內容,使用OpenGL 3D圖形技術在幾個不同的操作系統(Windows,Mac OS X,Mac OS X)中以幾個不同的瀏覽器(即,Safari,firefox)顯示X3D內容,Linux)。但是,X3D沒有像其他更值得注意的軟件應用程序那樣廣泛接受。

在2000年代,許多BitManagement等公司將X3D的虛擬效果的質量水平提高到了DirectX 9.0C的質量水平,但以使用專有解決方案為代價。包括遊戲建模在內的所有主要功能都已完成。其中包括用於Z-Buffer,Blendop,Alphaop,模板,多文本,具有HLSL和GLSL支持的著色器,實時渲染對紋理,多渲染目標(MRT)和後處理的多通渲染。許多演示表明X3D已經支持燈光圖普通映射SSAO ,CSM和實時環境反射以及其他虛擬效果。

x3 dom

X3D努力成為Web的3D標準,其設計成與其他XML標準(如MathMLSVG)一樣集成到HTML5頁面中。 X3DOR是一種提出的語法模型及其作為腳本庫的實現,它僅使用WebGL和JavaScript僅使用瀏覽器插件就可以在沒有瀏覽器插件的情況下實現此集成。

標準化

X3D定義了各種能力級別的幾個配置文件(組件集),包括X3D Core,X3D Interchange,X3D Interactive,X3D CadinterChange,X3D Immersive和X3D Full。瀏覽器製造商可以在提交Web3D財團標準化之前定義自己的組件擴展名。然後由ISO / IEC進行正式審查和批准。

聯絡與合作協議也存在於Web3D財團萬維網聯盟(W3C),開放地理空間財團(OGC),醫學數字成像和傳播(DICOM)和Khronos集團之間。

X3D的子集是XMT-A,是XMT的變體,在MPEG-4第11部分中定義。它旨在在MPEG-4(BIF)中提供X3D和3D內容之間的鏈接。

X3D(ISO/IEC 19775)的抽象規範於2004年首次獲得ISO批准。XML和Classicvrml X3D(ISO/IEC 19776)的XML和Classicvrml編碼於2005年首次批准。

備擇方案

  • WebGL :用於渲染Interactive 3D圖形和2D圖形的JavaScript API,由Khronos組管理的任何兼容Web瀏覽器中
  • 3DMLW :Web的3D標記語言
  • GLTF :由Khronos組管理的三維場景和模型的標准文件格式
  • Collada :互動3D應用程序的交換文件格式,由Khronos組管理
  • O3D :由Google開發
  • U3D :ECMA國際標準ECMA-363
  • VRML :X3D的前體
  • 3MF :基於XML的格式,其中包括3D添加劑製造數據,例如材料屬性。
  • A框架:基於HTML的聲明3D場景圖語言和互動框架通常用於WebVR

也可以看看