Game101課程筆記_lecture14_光線跟蹤
- DLSS技術,
劉詩秋
2.RTXGI技術
實時的全局光照
工業界何學術界都在同步推進。
實時渲染技術很快有用。
後面的課不容易。
3. 課程複習
包圍盒技術
光線何包圍盒都不相交,那肯定何裏面的object不相交-----邏輯
4. TODAY
1 uniform Spatial Partitions
光線與盒子相交比較容易
圓圈是物體,
如何光柵化一條線,
效果怎麼樣。
兩個極端如下:一個何分辨率個
合適的格子如下:
什麼時候效果好呢?
看的是場景中空的地方,物體分佈不均勻
運動場中只有一個茶壺的問題。
大規模的空白,大規模的聚集,這種就不適合這種格子的方法了。
格子在稀疏的地方就不需要劃分格子很細了
2 空間劃分
圖形學應用了這個概念
oct_tree八叉樹—
KD-tree–和八叉樹差不多,每次都是分成兩個格子。保持了二叉樹的性質
BSP-tree–不是水平和豎直的分,這些線不好計算。
1 KD-Tree
用其中的一半來講解,其實每個部分都要劃分。
沒有物體存儲在中間節點上,都在葉子節點上。
光線與某一個盒子有交點,可能與它的子節點都有交點。
知道光線打到葉子節點,如果有交點,就要和裏面的所有物體進行求交。
求出所有的交點,然後記錄下最近的交點。
kd樹的問題:
空間劃分會產生一個問題:kd樹的建立不簡單,一個三角形是否和一個立方體有交集,比較難。
最近的十年不用這個kd樹了,因爲這個難點。
圓圈和不同的盒子都有交集的時候,幾個盒子都要存儲這個物體。意味着一個物體可能存儲在不同的盒子中,這個也是個bug,kd樹不直觀 。
3 object Partitions根據物體來劃分
圖形學裏基本都用這個了
Bounding Volume Hierarchy BVH
劃分到時候截至呢?
只有一個物體只在一個盒子裏。
三角形分成兩堆,再把三角形畫個包圍盒,都很簡單,這樣避免了kd的問題
但是它的劃分不清晰。如何劃分,這是很多人在研究的問題。
總結BVH的步驟:
建立BVHs
用到的算法-快速選擇算法:作業中要做這個BVH。
第k大樹
k=n/2;
在o(n)複雜度
快速選擇算法來做這個問題
場景動了,加了新的物體,都要重新進行計算
BVH的數據結構:
BVH的算法:
4 空間劃分和物體劃分比較
空間劃分:
物體劃分:
光線和場景的求交就很快的可以做完了。
5 輻射度量學 Basic Radiometry
1 動機
phone模型都是用的經驗值,自己來確定。輻射度量學可以給光的精確的實際物理值。
2 概念
光照的度量系統
定義了光照的基本屬性。
學習一個東西的具體步驟。
why?爲啥要學
what?這個是什麼
how?怎麼用,這個是最容易忘掉,也是最不重要的 。
1 Radiant Energy and Flux
能量:用了多少電。
Flux:單位時間的能量。功率,單位時間內產生的能量。
照的時間越長,能量就越多,所以要用這個。
光學中lm是另外一個單位。
另外一個角度的定義:
單位時間內輻射出的光的數量。
2 Radiant Intensity
每一個單位立體角的power
立體角
一個角總會對應一段弧長
二維空間中給立體角:
三維空間中的立體角:
球體的一快面積除以半徑的平方;
單位立體角:
單位的一塊麪積,面積很小。大小是多少呢?
通過sita 和fan定義的那塊面積的長和寬;
這裏就涉及到微積分的數學了。
主要用下面的這個:
點光源均勻發射:
LED 60W。實際耗能是11W,看上去是60W的燈泡
865lm。
Radiant intensity?
下節課開始會越來越難。提前預習吧