Cesium 1.52新功能評(píng)測(cè)

前言

Cesium 在1.52版本中改進(jìn)了多個(gè)渲染問題,并且增加了HDR和3dtiles數(shù)據(jù)的精確求交方法。以下詳述。

增加了和3dtiles數(shù)據(jù)的精確求交方法

1.51版新增的sampleHeight和clampToHeight函數(shù)雖然能獲取3ditles數(shù)據(jù)指定位置的求交點(diǎn),但是有一個(gè)問題,它只是以當(dāng)前視角相機(jī)能看到的視野進(jìn)行計(jì)算,視野范圍之外,要么模型過于粗糙,要么就沒有調(diào)度,很可能求取不到數(shù)值。

此次版本更新,則增加同名函數(shù)的異步形式(sampleHeightMostDetailed等函數(shù))。這個(gè)改進(jìn)還是很重要的,Cesium為此特意增加了一個(gè)樣例:

Cesium新增示例

異步是為了能從服務(wù)器上調(diào)度來最精細(xì)的3dtiles數(shù)據(jù)來進(jìn)行求交運(yùn)算,畢竟調(diào)度數(shù)據(jù)是緩慢的過程,如果同步來取,必然會(huì)導(dǎo)致瀏覽器卡頓。優(yōu)點(diǎn)是計(jì)算精度有了保證;不好的地方,則是反應(yīng)速度有點(diǎn)兒慢,也可能增加一點(diǎn)內(nèi)存開銷。

增加了HDR,繼續(xù)提升三維渲染效果

bagnell大神自今年五月份開始為Cesium增加HDR效果以來,歷時(shí)數(shù)月給所有的圖元增加了HDR特性,同時(shí)增加了若干tonemapping、bloom等后處理算法,終于在1.52版將分支合并至主干。

HDR可以保留更多的顏色細(xì)節(jié),更好地還原世界本來的模樣。但是恕我眼拙,1.52版的地球和圖元,除了相比前版會(huì)更暗一點(diǎn)以外,好像并沒有看出特別明顯改進(jìn)的效果。。

image.png

另外,因?yàn)镠DR的增加,還好像引入了一些額外的問題。有可能Cesium后期還會(huì)繼續(xù)改進(jìn)吧。

但是無論怎么說,Cesium把很多目前主流的三維渲染效果如PBR等都加到引擎中去了,并且在持續(xù)改進(jìn)中。未來三維渲染效果只會(huì)越來越好。

支持傾斜攝影創(chuàng)建出來的3dtiles數(shù)據(jù)的樣式設(shè)置

這個(gè)長久以來的問題終于得到了官方的修復(fù)!之前做樣式設(shè)置的時(shí)候,經(jīng)常會(huì)遇到設(shè)置完了style,不起作用的情況。大部分情況都是因?yàn)榕龅搅藘A斜攝影數(shù)據(jù)(沒有batchTable)。老版本的Cesium在代碼中通過featureLength是否為0,來硬生生將之從樣式設(shè)置中過濾出去。

這個(gè)問題終于在1.52版獲得修復(fù)。效果如下:

傾斜數(shù)據(jù)的樣式設(shè)置

修復(fù)線段在不同視角下的顯示問題

修復(fù)線段在不同視角下的顯示問題

Cesium中的線段,是可以設(shè)置線寬的。然而WebGL并不支持線條繪制的寬度設(shè)置,Cesium為了繞過此問題,將線段當(dāng)成三角面片來繪制,期間會(huì)計(jì)算direction來確定三角面的頂點(diǎn)位置。然而在近裁下的direction計(jì)算貌似有些問題,導(dǎo)致了顯示上的bug。好在這個(gè)版本bagnell大神已修復(fù)。

修復(fù)了Entity中動(dòng)態(tài)幾何體的透明顯示問題

貌似僅1.51版有此問題,之前的版本沒問題,新版中也已改進(jìn)。之所以出問題是PerInstanceColorApperance中的flat設(shè)置問題,flat表示物體顏色是否受光照影響。目前只有1.51版不帶光照效果,看起來幾何體會(huì)沒有層次感。

示例地址

Cesium 1.52版的效果
Cesium 1.51版的效果

其他改進(jìn)

Cesium在地形加載上也做了一些改進(jìn),如果不用layer.json來獲取可用性信息,而且通過逐級(jí)加載可用信息的方式來加載地形,會(huì)提升地形加載的速度,并減少一些內(nèi)存占用。但是這一塊筆者沒仔細(xì)看。。有興趣可以自行研究。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,228評(píng)論 3 119
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,099評(píng)論 2 59
  • 原文地址:https://cesiumjs.org/tutorials/Cesium-Workshop/ 概述 我...
    Cesium實(shí)驗(yàn)室閱讀 40,805評(píng)論 11 38
  • 一年級(jí)一個(gè)孩子跑進(jìn)辦公室找他班媽媽說:“老師,你幫我系一下帶子吧?!崩蠋熣f:“寶貝,進(jìn)辦公室要說報(bào)告喲?!薄芭?,哦...
    LAA06閱讀 277評(píng)論 2 3
  • 小區(qū)微信群里關(guān)于養(yǎng)狗的話題討論了一天了,熱鬧非凡。從討論情況來看,大多人都不贊成養(yǎng)狗,養(yǎng)狗是需要具備很強(qiáng)的自身素質(zhì)...
    56d149d31e9e閱讀 246評(píng)論 0 0

友情鏈接更多精彩內(nèi)容