關(guān)鍵字:Cesium glTF WebGL技術(shù)

大綱:

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

Cesium如何加載,渲染glTF,邏輯結(jié)構(gòu)和關(guān)鍵技術(shù)

個人總結(jié),從glTF學(xué)習(xí)如何設(shè)計一個二進制格式,個人想法分享

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

1 glTF簡介

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

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

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

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

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

延伸閱讀

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