Cesium在2016年3月份左右推出3D Tiles數(shù)據(jù)規(guī)范,在glTF基礎(chǔ)上提供了LOD能力,定位就是Web環(huán)境下海量三維模型數(shù)據(jù)。雖然目前3D Tiles還是Beta階段,有不少硬傷,但3D Tiles數(shù)據(jù)規(guī)范于2016年9月30日開始了OGC標(biāo)準(zhǔn)化進(jìn)程,積極成分還是很大。
之前的glTF時(shí)分享了個(gè)人對(duì)二進(jìn)制格式的一些想法和謹(jǐn)慎的態(tài)度。3D Tiles簡(jiǎn)單說就是具備LOD能力的glTF。有了數(shù)據(jù)首先是提供API可以渲染,保證用起來,下一步就要了解該數(shù)據(jù)規(guī)范的具體特點(diǎn),比如傾斜,矢量,點(diǎn)云,OSM等支持情況,項(xiàng)目實(shí)施和風(fēng)險(xiǎn)評(píng)估等。最后,作為一個(gè)數(shù)據(jù)規(guī)范,從數(shù)據(jù)生產(chǎn)到深層次應(yīng)用,需要時(shí)間沉淀出完善豐富的解決方案。
本文主要集中在渲染調(diào)度層面。看完本文可能會(huì)覺得思路很簡(jiǎn)單。在實(shí)際應(yīng)用中有很多細(xì)節(jié),比如瀏覽時(shí)各種操作的差異,并發(fā)量,內(nèi)存和顯存管理,異步傳輸和Workers線程等等各種調(diào)優(yōu)。思路簡(jiǎn)單,但要把這些小細(xì)節(jié)打磨好就不容易了。本文只講詩和遠(yuǎn)方,鞋里的沙子自己來處理吧。
先看看如何加載3D Tiles數(shù)據(jù),如上所示,Cesium提供了Cesium3DTileset類來管理,主要負(fù)責(zé)Tile的調(diào)度。在Cesium中,3DTiles就相當(dāng)于一個(gè)Primitive的位置。
3D Tile表述
當(dāng)我們創(chuàng)建一個(gè)Cesium3DTileset后,每一個(gè)Tile對(duì)應(yīng)一個(gè)Cesium3DTile。如上根節(jié)點(diǎn)是root,content是根節(jié)點(diǎn)對(duì)應(yīng)的文件名,這里是parent
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式