X3D-一次編寫、處處、時時都可渲染的三維圖形格式
X3D,一次編寫、處處、時時都可渲染的三維圖形格式。
正致力於增加HTML 5中對3D的支援,Web3D協會的X3D-HTML5工作組正與W3C緊密協作,闡述他們對整合X3D與HTML的思路和想法。其目標是讓每個瀏覽器中都有一種通過DOM整合的跨平臺、開發標準的三維圖形渲染能力。
X3D
是一種抽象的圖形格式;只要作業系統底層及硬體支援某些形式的畫素顯示,X3D就可在該環境下被渲染。不管你的裝置是使用DirectX圖形庫還是繼續不
斷髮展的OpenGl版本系列、或一些至今為寫出來的低階圖形層,X3D將都能在其之上渲染,而且如果裝置包含了使用者i/o能力,X3D將也能使用該能
力。
帶有對HTML DOM使用事件傳遞的演示,可到此處觀看,它採用X3DDOM – 一種實驗性的開發執行環境,以JavaScript及WebGL實現,允許在(X)HTML頁面中內聯X3D內容。它執行當前 HTML5規範 – 描述性三維內容
並允許以作為HTML DOM樹的方式包含X3D元素。
這種整合模型仍在發展中,並開發討論。要推動該項嘗試還有很多工作有待完成。有興趣參與的請聯絡 John Stewart
。可以到X3D-HTML5
這裡找到更多有關該工作組的資訊。
Q1 |
HTML 5將增加對視訊及3D的支援。我們談論到了很多關於WebGL的內容,但你能給我們提供更多關於Web3D HTML 5工作組的資訊嗎? |
A1 |
在開始這項討論前,我將在HTML 5 3D沙箱中的沙裡畫一條線,並描述我在這條線兩邊所看到的,以及兩邊在Web上所具有的位置。
一方面,我們有Javascript的程式設計API,使用一些形式的三維畫布,像WebGL或O3D。另一方面,我們有保留模式的、DOM整合的三維圖形抽象,像X3D。 首先的一方面(讓我們稱之為Javascript方面)是由圖形程式設計師建立,這些Coder有的希望讓他們的硬體發揮最大的功效,有的則對 第二個方面,我將稱之為X3D方面,為那些web開發者或使用圖形像他們的工作致意的人們。也許他們想構建三維使用者介面,或者是他們在進行DNA的研究,或者採礦行業他們需要使用三維視覺化作為工作的一部分。 分到X3D這邊的人們可能也想使用在Javascript層所用不到的特性,如空間化聲音,或者想使用已經包含在X3D的面向圖形的概念,如光線交叉、碰撞檢測或檢視 這些人可能也想他們的模型非常便攜 – WebGL是緊密遵循 所以,人們將會有選擇。我們每天都會看到像這樣的選擇。拿汽車做比,有些人喜歡 |
Q2 | HTML5類瀏覽器在不需要任何外掛的情況下將能顯示X3D檔案,有這種機會嗎? |
A2 | 這是絕對的 – 這正是我們與HTML5工作組聯絡的目標:在每款瀏覽器中以DOM形式整合、跨平臺、開放標準的三維圖形。
讓HTML瀏覽器編寫者 |
Q3 | HTML5包含了X3D的解析器嗎? |
A3 | 其實預設情況下就具有該功能。 Dr. Behr的X3DOM實現就表明了X3D與HTML5的緊密整合確實是可行的,而且很容易做到。 當然,我們期望HTML5瀏覽器編寫者最後會原生的包含對X3D的實現,要麼是包含像FreeWRL (http://freewrl.sourceforge.net )這樣的 |
Q4 | 坦率的說,X3D一直都未成功做到讓那些3D藝術家會從他們的DCC軟體 (3ds max, maya, softimage,…)匯出為這種格式。X3D與如Collada (.dae 與 .zae) 之間的優勢各自是什麼? |
A4 | 我們應該談談X3D與Collada之間概念性區別。
主要的區別在於Collada僅僅是模型交換格式,而X3D提供了模型交換及三維執行時環境。X3D給了你建立虛擬模型及與之互動的能力;它提供了不僅在螢幕上獲得三角形,並且交換及管理那些三角形(讓Web頁面建立者建立引人注目的內容)的方法學。 Collada允許用於 所以,再重複一下,就是我們有二元性,它給使用者可選擇性。 Dr Johannes Behr of Fraunhofer, 給過我下面的一個例項,我認為它很好的展示了我們怎樣看待Collada與X3D: “Collada是一種真正的資料容器。所以你可以把你的模型從工具“A”搬到 Collada因此也就是從工具“A”到工具“C”獲取資料而不會丟失內容的一種容器。但它不是一種傳遞或部署用的格式。 這與影像和文字檔案的情況相似。很多人用psd檔案儲存帶有層結構的影像,並從一個工具到另一個工具可以獲取資料,但沒有一個人會把那個psd檔案分發到 3D方面也有同樣的處理。在你的管線中使用Collada,而在最終的執行時則是一種傳遞格式(像X3D)。 這不僅僅是我的觀點:想了解Collada和X3D之間更多背景知識,以及為什麼“X3D是應用於Web的一種理想語言“請閱讀白皮書, by Rémi ) |
Q5 | Web上還有很多3D內容格式,看起來好像網站會寧可選擇Flash的3D引擎,儘管其效能很低,也不願選擇其它外掛。你認為伴隨著HTML5的應用,這種情況會改變? |
A5 | 是的,有幾個原因。
1) Flash不是開放標準。而Web是建立在開發標準之上的。 2) Flash當前不支援GPU的使用。 3) Flash沒有多廠商的支援。 |
Q6 | HTML 5將會用JavaScript來處理互動。從效能的角度,你相信JavaScript能處理大場景、遊戲互動(AI、物理學等等)? |
A6 | … 及場景中物件的碰撞檢測, 及投影剔除(frustum culling ),及導航與使用者互動及場景中的動作,以及使用者當前所期望的其它所有內容,或者希望以他們的知識水平擴充套件…. Javascript能”處理“大場景嗎?你可以以任何一門計算語言來編寫出幾乎所有東西,它是否是最理想的反而不是真正的問題所在。 首先,我們來談談頂點/紋理渲染的速度。 In Javascript over WebGL,最少量的Javascript被用於渲染三角形與紋理 – 因為GPU在進行渲染。如果你丟入少量的housekeeping或互動,幀頻會顯著下降。 用一些真實世界的數字: 第二,讀者也應該要記住X3D有內建的執行時環境;X3D瀏覽器作者花費了相當多的時間在確保執行時環境執行良好。具有原生X3D實現不僅意味著對三角形和紋理的更快渲染,也意味著統一、高效的執行時架構。 第三,我們發現浮點數的精度對高精度位置資料來說還不夠,所以X3D使用了雙精度數來進行內部計算,如插值器以及地理空間資料管理等。Dr. 最後,有個似乎被很多人漏過的問題,X3D提供了你的圖形軟體一種抽象的檢視,那是X3D瀏覽器實現者的工作,即確保幾何體儘可能高效快捷的被選入,而且 |
Q7 | 對非專業人士來說,Web3D協會意味著VRML。你認為協會能帶來被廣泛應用的新技術嗎? |
A7 | VRML 是標準以前的系列。不否認在開始的時候,VRML圖形檔案顯示出 – 與現在的標準比較 – 粗糙的、非現實感圖形。但要記得當VRML-1出來的時候,計算機圖形行業正處於它的幼年,而且能渲染這種圖形的計算機非常昂貴,很多感興趣的人無法接觸 到。所以可能對於VRML的一些負面感受中很少一部分是真正針對VRML,而更多的是對那時計算機行業的狀態。 當前的X3D規範保留了與VRML-97的向後相容性。我們在繼續保持這種完整的向後相容性,同時讓標準成長到滿足當今的圖形需求,並推動該技術發展;比如X3D實現光線跟蹤。 VRML/X3D標準的“長壽性”和“跨平臺性”對很多使用者非常重要。我講個故事。最近有一位NASA的員工問我將VRML-1整合進FreeWRL瀏覽器的事,VRML-1先於VRML-97.我尋找線上規範,而且半天之後,該使用者就能在他的桌面Macintosh計算機上檢視這些檔案了。其它15歲的圖形格式還有多少能被渲染呢? 有人提到“三維圖形”的時候,從腦海裡面出現的第一件事就是這個偉大的產品來自好萊塢及遊戲公司。我們傾向於忘記科學及醫學成像這些領域中3D模型的“長壽性”與跨平臺的相容性是最為重要的事情。 Web3D協會正在繼續向世界帶來開放的三維渲染技術。 X3D:一次編寫、任何地方、任何時候都可渲染。 |
Q8 | 關於嵌入式裝置如 Smartphones & iPhones;HTML5將也能夠在那些”計算機“上顯示三維內容嗎? |
A8 | X3D是一 種抽象的圖形格式;只要作業系統底層及硬體支援某些形式的畫素顯示,X3D就可在該環境下被渲染。不管你的裝置是使用DirectX圖形庫還是繼續不斷髮展的OpenGL版本系列、或一些至今未寫出來的低階圖形層,X3D將都能在其之上渲染,而且如果裝置包含了使用者i/o能力,X3D將也能使用該能力。 |
原文:http://www.3d-test.com/interviews/x3d_2.htm
翻譯:http://blog.csdn.net/x3dcn/archive/2010/01/03/5124473.aspx
相關文章
- jackson時間格式的處理
- Spring mvc時間格式處理SpringMVC
- 數字轉時間間隔格式處理
- 記個格式化時間處理筆記筆記
- lxml處理xml時的字元編碼問題XML字元
- 最好的程式是程式設計師在處理其他事情時編寫的程式!程式設計師
- [譯] Android 上一次編寫,隨處測試Android
- Swift的時區處理Swift
- js時間字串格式化以及url引數處理JS字串格式化
- 編譯儲存過程時被卡死的處理方法編譯儲存過程
- 處理檔案上傳時的訊息格式轉換問題
- CGContextRef處理圓形圖片GCContext
- android簡單的圖形特效處理Android特效
- PHP 時間處理PHP
- java時間處理Java
- ORACLE 處理時間Oracle
- bash時間處理
- JavaScript 處理WebSocket的超時JavaScriptWeb
- 拖拽編寫SVG圖形化工具(二)SVG
- 一次臨時表空間大量佔用問題的處理
- 樹形結構的處理——組合模式(三)模式
- 【讀書筆記】:《編寫可維護的JavaScript》第07章 事件處理筆記JavaScript事件
- 什麼是實時渲染,實時渲染是如何工作的
- 顯示網路圖片變形的處理
- Liunx運維(三)-檔案過濾及內容編輯處理運維
- uniGUI釋出時執行時包的處理GUI
- Web 端的下一代三維圖形Web
- python 時間處理Python
- 時間處理函式函式
- 批處理定時關機
- 字串和日期時間的處理字串
- 時間序列資料的處理
- iOS 關於時間的處理iOS
- Java中對時間的處理Java
- 早上網路卡問題,處理了2個小時,運維的效率啊!運維
- Java編寫定時任務Java
- win10 ps 使用圖形處理器怎麼開啟_win10ps的圖形處理器在哪裡勾Win10
- WebGL不同幾何圖形的渲染方式Web