原创 《學一輩子光線追蹤》 四 重要性採樣材料

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 在接下來的兩章中,我們的目標是利用我們的程序向光源發送一束額外的光線,這樣我們的圖片噪聲就不會太多了。假設我們可以使用pdf pLight(direction) 向光源發送一束光線。假設

原创 《學一輩子光線追蹤》 五 產生隨機方向

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 這一節結束後,我會對前面的關於概率和光線追蹤的知識進行一下總結和歸納。 在本章和下兩章中,讓我們加強理解和工具,找出哪個康奈爾盒子的渲染結果是正確的。我們先來看看如何生成隨機方向,但爲了

原创 《學一輩子光線追蹤》 六 正交基

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 在最後一章中,我們開發了生成與日晷相對的隨機方向的方法。我們要做的是基於任意曲面的法向量。正交正規基(ONB)是三個相互正交的單位向量的集合。笛卡爾xyz軸就是這樣的一個ONB,我有時忘

原创 《學一輩子光線追蹤》 七 直接採樣光

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 幾乎均勻地在方向上採樣的問題是,光的採樣率不超過其他不重要的方向的採樣率。我們可以使用陰影光線並分離出直接照明。但是,作爲替代方法,我只會發射更多的採樣光線到光源上。我們以後可以用它來向

原创 《蒙特卡洛光線追蹤》 隨機方法 超詳分析(數學+程序預警)

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 上一節說過,會單獨寫一節關於前面所有隨機知識的梳理和總結。 這一節不可能會特別短,但很可能會有點長,因爲以前的程序都寫完了,這一節幾乎沒有新程序,而全部都是原理的詳細分析(超級詳細!詳細

原创 《學一輩子光線追蹤》 四點五 代碼對比分析

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 先粘貼一下以前的lambertian代碼: class lambertian :public material { public: lambertian(texture*a):alb

原创 《學一輩子光線追蹤》 二 一維MC積分(一)

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 積分是關於計算面積和體積的,所以如果我們想讓第1章最大限度地混淆,我們可以將它以一個積分的形式組織起來。但有時積分是最自然、最乾淨的表達方式。渲染常常是這樣一個問題。讓我們看一個經典的積

原创 《學一輩子光線追蹤》 二點五 一維MC積分(二)

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 我們現在可以對以前的積分進行採樣 I = integral(x^2, 0, 2) 我們需要解釋x的pdf的不均勻性。如果我們在某個位置的樣本太多,我們應該降低其權重。 比如我們之前的例子

原创 《學一輩子光線追蹤》 二點五五 在球面方向的MC積分

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 竟然有兩個第二章,我也是很無奈啊。 在我們的光線跟蹤器中,我們選擇隨機方向,方向可以表示爲單位球體上的點。採用與之前相同的方法。但現在我們需要在二維上定義一個pdf。假設我們在所有方向上

原创 《學一輩子光線追蹤》 三 光散射

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 這一小節全都是文字,但是比較重要。雖然之前在 三維渲染 光能輻射基礎 三維渲染 BRDF雙向反射分佈函數 三維渲染 相位函數 三維渲染 體照明模型 這幾個章節也都很詳細的描述過光學了,這

原创 《學一輩子光線追蹤》 一 引言和一個簡單的蒙特卡洛程序

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 引言: 在一個週末的光線跟蹤和光線跟蹤:下週,你建立了一個“真正的”光線跟蹤器。 在本卷中,我假設您將從事與光線跟蹤相關的職業,我們將深入研究創建非常嚴肅的光線跟蹤器的數學。完成後,您應

原创 《一週學完光線追蹤》學習 五點五 多方位測試上一節的程序

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 測試一:在main函數裏把第二個球體的改爲如下: list[1] = new sphere(vec3(-0.8, 0, -1), 0.5); 結果: 這說明我們的攝像機還存在一定的

原创 《一週學完光線追蹤》學習 六 抗鋸齒

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 當一個真正的相機拍攝一張照片,通常沒有沿邊緣的鋸齒,因爲邊緣像素是一些前景和一些背景的混合。我們可以通過平均每個像素內的一組樣本來獲得相同的效果。我們不必爲分層而煩惱,這是有爭議的,但對

原创 《一週學完光線追蹤》學習 一 建立工程文件

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 首先我們需要先寫個能顯示圖片的程序,用來顯示渲染的結果(顯示像素圖)。 emmm,用書上使用的解讀器也行,用opengl也行,用VTK也行,用Qt插件也行,爲了方便起見這裏就用openg

原创 《一週學完光線追蹤》學習 三 光線相機和背景

蒙特卡洛光線追蹤技術系列 見 蒙特卡洛光線追蹤技術 所有光線跟蹤器都有一個光線類,以及計算沿光線看到的顏色。讓我們把射線看作一個函數,p(t)=A+t*B,這裏p是3D中沿直線的3D位置,a是射線的原點,B是射線的方向。射線參數t是實數(