關鍵字:Cesium glTF WebGL技術

大綱:

glTF簡介,這是一個什么東西,有哪些特點

Cesium如何加載,渲染glTF,邏輯結構和關鍵技術

個人總結,從glTF學習如何設計一個二進制格式,個人想法分享

共計 4000字 | 建議閱讀時間 未知

1 glTF簡介

       之前介紹了Cesium的Property,Material,Batch,GroundPrimitive這些內容,可以說是簡單地物和風格的解決思路。當Cesium把這些技術點整合起來,我們便具備了渲染模型的威力。也就是今天要講的glTF模型渲染。

       glTF的全稱是GL傳輸格式,是一種針對GL(WebGL,OpenGL ES以及OpenGL)接口的運行時資產(chǎn)(asset)。在3D內容的傳輸和加載中,glTF通過提供一種高效,易擴展,可協(xié)作的格式,填補了3D建模工具和現(xiàn)代GL應用之間的空白。github上有對該數(shù)據(jù)規(guī)范的詳細介紹,春節(jié)期間我翻譯了其中的核心部分,有興趣的可以了解。

      三維模型的格式這么多,為什么不用現(xiàn)成了,而是非要自己重新定義一個規(guī)范,原文中Patrick很誠實詳盡的做了解釋。簡單說,目前主流的三維模型主要的特點在于數(shù)據(jù)制作上,在Web傳輸和解析上無法滿足需求,而glTF的特點就是傳輸和解析的高效。首先,二進制的傳輸方式最為高效,也就是ArrayBuffer形式,但二進制的解析則很繁瑣,也很容易出錯。如何提高解析效率呢,就如同云盤的秒傳功能,不解析,或減少解析是最有效的解析方式, 要做到這一點,則要求顯卡,WebGL能夠直接加載該數(shù)據(jù)結構。

photoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓

       上圖是glTF的一個大概結構,分為四大塊,最上面的json是一個表述,描述該模型的節(jié)點層級,材質,相機,動畫等相關邏輯結構,bin則對應這些對象的具體數(shù)據(jù)信息,glsl是對該模型渲染的著色器,針對該模型的數(shù)據(jù)信息,給出渲染“配方”,當然還有紋理內容。大塊內容可以以Base64的編碼內遷到文件中,方便拷貝和加載,也可以以URI的外鏈方式,側重重用性。

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式