Structured Volume Sampling - Huw Bowles

之前介紹過Huwb在Siggraph 2015年上分享的一篇通過調(diào)整采樣點排布來保證使用較少的采樣點也能得到穩(wěn)定表現(xiàn)的技術(shù)文章弯予,今天要介紹的這個技術(shù)則是huwb在2017年提出的新方案厉碟,這個方案相對于之前介紹的方案具有更好的穩(wěn)定性,且不必像之前的技術(shù)一樣需要針對motion/rotation分開處理讥珍,這里是原文的PPT鏈接

體積云的實時渲染主要面臨著如下的幾個問題:

  1. raymarching采樣消耗非常高
  2. 想要做到實時渲染,只能不斷的降低單條射線上的采樣點數(shù)目
  3. 采樣點數(shù)目降低會導(dǎo)致相機移動或者旋轉(zhuǎn)時的鋸齒

針對這些問題,現(xiàn)在業(yè)界主要有如下的幾種解決路徑:

  1. 將光照以及密度數(shù)據(jù)緩存到與相機frustum平齊的volume texture中与纽,運行時通過一定的算法進行取用
  2. 通過TAA來減少sampling數(shù)目
  3. 使用較少的采樣點來進行光照計算,通過與相機平齊的3D細節(jié)貼圖來fake粒子濃度效果
    這些方法都有著各自的局限性塘装。

之前我們分享的huwb的技術(shù)通過對每條射線的起始采樣位置進行偏移來解決相機移動時的鋸齒問題急迂,對于相機旋轉(zhuǎn)時的鋸齒則是通過在平面slice到曲面slice之間進行過渡來解決,但是這種做法比較復(fù)雜蹦肴,而且在相機繞著某個固定點旋轉(zhuǎn)時僚碎,會存在瑕疵。

今天這里要介紹的這個技術(shù)跟上一個技術(shù)方案不同阴幌,是通過在世界空間中設(shè)定一些采樣slice來消除motion/rotation的鋸齒的勺阐,其基本思路給出如下:

  1. 假設(shè)在世界空間中擺放了一系列與xy平面平行的透明slice,每個slice上存放了對應(yīng)深度的切片信息
  2. 正對著這些貼片望過去矛双,看到的結(jié)果是沒有問題的
  3. 當(dāng)相機角度偏離z方向過遠時渊抽,就會導(dǎo)致效果發(fā)生變化
  4. 但是如果偏離的不是很大,那么看到的結(jié)果其實并不會有太大問題议忽。
單套slice效果

針對這些表現(xiàn)腰吟,這里提出了一套解決方案,那就是在世界空間中擺放多套slice徙瓶,當(dāng)相機發(fā)生旋轉(zhuǎn)時毛雇,根據(jù)角度的不同,對不同的slice采樣結(jié)果進行混合侦镇,這種做法的結(jié)果對比參考上下兩圖灵疮。

多套slice效果

為了便于理解,這里給出了一套頂視示意圖:

single slice

垂直豎線表示的是采樣slice的位置壳繁,可以看到震捣,在單套slice的作用下荔棉,相機旋轉(zhuǎn)角度過大就會導(dǎo)致采樣點分布出現(xiàn)問題,下面給出增加一套垂直相交的slice時的采樣點表現(xiàn):

multiple slices

下面介紹一下實現(xiàn)細節(jié)蒿赢,首先润樱,需要選定對應(yīng)的slice,這個是通過對射線以及slice的法線的夾角與給定的夾角進行比較來得出羡棵。

選定slice之后壹若,就需要計算當(dāng)前射線在這個slice上的起始采樣點t_0以及采樣步長\Delta

對于某個slice占據(jù)主導(dǎo)地位的情況(如下圖綠色區(qū)域)來說,只需要進行單套slice的采樣就可以了皂冰,但是對于處于兩套slice中間區(qū)域的射線(如下圖黃色區(qū)域)而言店展,可能就需要同時對兩套slice進行采樣,之后對結(jié)果進行blend:

采樣混合俯視圖

如上圖所示秃流,這里給出了相機水平掃射時的各射線raymarching次數(shù)的示意圖赂蕴,跟前面一樣,黃色表示的是兩次raymarching的情況舶胀,這些raymarching區(qū)域構(gòu)成了一個帶斜邊的八邊形概说,不考慮黃色斜邊的話,每條射線需要在四套slice(不考慮正負方向)之間進行判斷哪套slice占據(jù)主導(dǎo)地位嚣伐,而如果是3D情況的話席怪,就會更加復(fù)雜,需要在九套slice之間進行判斷纤控。

采樣混合 - 3D

考慮多套slice之間的混合關(guān)系挂捻,如果走動態(tài)分支的話會導(dǎo)致較高的浪費,因此最高效的做法是將單套slice船万,兩套slice刻撒,三套slice之間混合的部分拆成多個section,分別走不同的shader靜態(tài)分支耿导。

這里給出實際場景中各個位置的slice套數(shù)示意圖:

以及最終的渲染效果:

原文還給了一個視頻声怔,從效果上來看,基本上很難看出slice過渡導(dǎo)致的瑕疵舱呻。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末醋火,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子箱吕,更是在濱河造成了極大的恐慌芥驳,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茬高,死亡現(xiàn)場離奇詭異兆旬,居然都是意外死亡,警方通過查閱死者的電腦和手機怎栽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門丽猬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宿饱,“玉大人,你說我怎么就攤上這事脚祟∶裕” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵由桌,是天一觀的道長为黎。 經(jīng)常有香客問我,道長沥寥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任柠座,我火速辦了婚禮邑雅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘妈经。我一直安慰自己淮野,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布吹泡。 她就那樣靜靜地躺著骤星,像睡著了一般。 火紅的嫁衣襯著肌膚如雪爆哑。 梳的紋絲不亂的頭發(fā)上洞难,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音揭朝,去河邊找鬼队贱。 笑死,一個胖子當(dāng)著我的面吹牛潭袱,可吹牛的內(nèi)容都是我干的柱嫌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼屯换,長吁一口氣:“原來是場噩夢啊……” “哼编丘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起彤悔,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嘉抓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后晕窑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掌眠,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年幕屹,在試婚紗的時候發(fā)現(xiàn)自己被綠了蓝丙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片级遭。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖渺尘,靈堂內(nèi)的尸體忽然破棺而出挫鸽,到底是詐尸還是另有隱情,我是刑警寧澤鸥跟,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布丢郊,位于F島的核電站,受9級特大地震影響医咨,放射性物質(zhì)發(fā)生泄漏枫匾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一拟淮、第九天 我趴在偏房一處隱蔽的房頂上張望干茉。 院中可真熱鬧,春花似錦很泊、人聲如沸角虫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽戳鹅。三九已至,卻和暖如春昏兆,著一層夾襖步出監(jiān)牢的瞬間枫虏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工爬虱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留模软,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓饮潦,卻偏偏與公主長得像燃异,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子继蜡,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容