實(shí)時(shí)渲染前沿研究:開篇介紹
大家好,本研究的目的在于研究和實(shí)現(xiàn)實(shí)時(shí)渲染路徑追蹤中的難點(diǎn),感謝大家一起來研究學(xué)習(xí),謝謝!
本研究偏向于結(jié)合深度學(xué)習(xí)和圖形學(xué),目前,我們已經(jīng)完成了下面的工作:
- 路徑追蹤基礎(chǔ)課
本培訓(xùn)班的課程是基于”路徑追蹤“技術(shù)的離線渲染器零基礎(chǔ)實(shí)戰(zhàn)開發(fā)的基礎(chǔ)課程。
我們介紹相關(guān)的圖形學(xué)和數(shù)學(xué)基礎(chǔ),給出詳細(xì)的數(shù)學(xué)推導(dǎo)、偽代碼和實(shí)現(xiàn)代碼,最終帶領(lǐng)大家使用最新的RTX光線追蹤管線以及計(jì)算管線的計(jì)算著色器,做出一個(gè)可以運(yùn)行的路徑追蹤離線渲染器。 - 構(gòu)造和遍歷BVH
實(shí)現(xiàn)了LBVH、使用Ray Packet加速 - 深度學(xué)習(xí)基礎(chǔ)課
本課程帶領(lǐng)同學(xué)從0開始學(xué)習(xí)全連接和卷積神經(jīng)網(wǎng)絡(luò),進(jìn)行數(shù)學(xué)推導(dǎo),并且實(shí)現(xiàn)可以運(yùn)行的Demo程序 - 深度學(xué)習(xí)降噪專題課
本課程基于全連接和卷積神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)LBF、KPCN、WSPK等深度學(xué)習(xí)降噪算法,實(shí)現(xiàn)了WSPK實(shí)時(shí)蒙特卡洛降噪算法,介紹了深度學(xué)習(xí)降噪算法的實(shí)現(xiàn)思路,演示了實(shí)現(xiàn)的效果
我們預(yù)計(jì)將會(huì)在本次研究中,完成下面的研究和實(shí)現(xiàn):
DLSS
通過毫秒級(jí)時(shí)間使圖像清晰16倍,F(xiàn)acebook提出的DLSS算法介紹,提出了在實(shí)時(shí)渲染中使用深度學(xué)習(xí)實(shí)現(xiàn)超采樣,從而能夠只渲染低分辨率的圖片,然后超采樣為高分辨率的圖片
參考資料
- 毫秒級(jí)時(shí)間使圖像清晰16倍,F(xiàn)acebook提出的DLSS算法介紹
- 代碼實(shí)現(xiàn)
https://github.com/timmh/neural-supersampling
https://github.com/INTEW/NSRR
改進(jìn)的論文:
- MNSS: Neural Supersampling Framework for Real-Time Rendering on Mobile Devices
- High-Quality Supersampling via Mask-reinforced Deep Learning for Real-time Rendering
新的采樣方法:ReSTIR
該采樣方法是針對(duì)有大量光源的優(yōu)化(少數(shù)光源的話就直接用NEE,進(jìn)行隨機(jī)光源采樣)
- 使用ReSTIR采樣方法
- 使用RTXDI計(jì)算直接光照,這是基于ReSTIR的
- 使用ReSTIR GI計(jì)算間接光照
- 可以將其進(jìn)一步改進(jìn)為ReSTIR PT
我們應(yīng)該至少基于ReSTIR計(jì)算直接光照,并考慮使用ReSTIR GI或者ReSTIR PT(優(yōu)先)來計(jì)算間接光照
ReSTIR的參考資料
- RTXDI
- 從重要性采樣到 RIS
- Spatiotemporal Reservoir Resampling (ReSTIR) - Theory and Basic Implementation
文末有推薦的代碼實(shí)現(xiàn) - Understanding The Math Behind ReSTIR DI - 理解 ReSTIR DI 背后的數(shù)學(xué)原理
- 論文
ReSTIR GI/PT的參考資料
- ReSTIR GI: Path Resampling for Real-Time Path Tracing
- ReSTIR Path Tracing (ReSTIR PT)的論文
- ReSTIR Path Tracing (ReSTIR PT)的代碼
Real-time Neural Radiance Caching for Path Tracing
本論文提出了使用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)Radiance Caching,可從中獲得間接光照
用這個(gè)方法的好處是:
- 加快路徑追蹤
因?yàn)殚g接光照可從中直接獲得,不需要射線再進(jìn)行bounce來計(jì)算 - online訓(xùn)練
不需要預(yù)訓(xùn)練,直接在線訓(xùn)練 - 比較簡(jiǎn)單
神經(jīng)網(wǎng)絡(luò)就是一個(gè)簡(jiǎn)單的MLP(全連接網(wǎng)絡(luò))
這個(gè)方法可以跟ReSTIR結(jié)合,即:
1.使用ReSTIR針對(duì)the first path vertex進(jìn)行直接光照采樣
2.間接光照從神經(jīng)網(wǎng)絡(luò)中獲得
Instant Neural Graphics Primitives with a Multiresolution Hash Encoding
Real-time Neural Radiance Caching for Path Tracing可結(jié)合本論文提出的輸入編碼的方法,進(jìn)一步提升最終的渲染質(zhì)量
本論文提出對(duì)輸入進(jìn)行多分辨率的Hash編碼,從而讓很小的網(wǎng)絡(luò)(如MLP)也能學(xué)到很高的質(zhì)量
本文貌似主要適用于MLP網(wǎng)絡(luò)
GPU構(gòu)建BVH
目標(biāo):
- 實(shí)現(xiàn)PLOC算法,GPU構(gòu)建BVH
- 研究更新BVH樹
參考資料
https://meistdan.github.io/publications/bvh_star/paper.pdf
https://trepo.tuni.fi//bitstream/handle/10024/126597/paper.pdf?sequence=1
https://meistdan.github.io/publications/ploc/paper.pdf
https://meistdan.github.io/publications/prbvh/paper.pdf
https://github.com/meistdan/ploc
https://github.com/madmann91/bvh
其它
參考資料
感覺這文章很牛:淺析ToG2021論文Vectorization for Fast, Analytic, and Differentiable Visibility
https://www.yuque.com/u1408899/zd393l/bbtshg?singleDoc
我實(shí)現(xiàn)的步驟
1.實(shí)現(xiàn)NSRR,從而實(shí)現(xiàn)DLSS
2.實(shí)現(xiàn)Real-time Neural Radiance Caching for Path Tracing
3.實(shí)現(xiàn)Instant Neural Graphics Primitives with a Multiresolution Hash Encoding
4.基于已有的資料,使用WebGPU開發(fā)path tracer,支持隨機(jī)光源采樣+LBVH+多重重要性采樣+IBL
5.path tracer結(jié)合WSPK降噪
6.path tracer結(jié)合NSRR
7.path tracer使用disney BRDF+簡(jiǎn)單的BSDF
8.發(fā)布path tracer(只支持靜態(tài)場(chǎng)景,但相機(jī)可移動(dòng);面積光+IBL,光源數(shù)量<4)
9.使用ReSTIR,支持多光源的優(yōu)化
需要實(shí)現(xiàn)LightBVH?
10.使用PLOC,支持動(dòng)態(tài)場(chǎng)景的BVH構(gòu)建
浙公網(wǎng)安備 33010602011771號(hào)