又名蒙特卡洛路徑追蹤 總覽 在之前的練習中,我們實現了Whitted-Style Ray Tracing 算法,並且用BVH等加速結構對於求交過程進行了加速。 在本次實驗中,我們將在上一次實驗的基礎上實現完整的Path Tracing 算法。 至此,我們已經來到了光線追蹤版塊 ...
總覽 在這部分的課程中,我們將專注於使用光線追蹤來渲染圖像。在光線追蹤中最重要的操作之一就是找到光線與物體的交點。一旦找到光線與物體的交點,就可以執行着色並返回像素顏色。 在這次作業中,我們要實現兩個部分: 光線的生成 光線與三角的相交。 本次代碼框架的工作流程為: 從main 函數開始。我們定義場景的參數,添加物體 球體或三角形 到場景中,並設置其材質,然后將光源添加到場景中。 調用Render ...
2021-10-25 11:23 2 694 推薦指數:
又名蒙特卡洛路徑追蹤 總覽 在之前的練習中,我們實現了Whitted-Style Ray Tracing 算法,並且用BVH等加速結構對於求交過程進行了加速。 在本次實驗中,我們將在上一次實驗的基礎上實現完整的Path Tracing 算法。 至此,我們已經來到了光線追蹤版塊 ...
總覽 在上次作業中,雖然我們在屏幕上畫出一個線框三角形,但這看起來並不是那么的有趣。所以這一次我們繼續推進一步——在屏幕上畫出一個實心三角形,換言之,柵格化一個三角形。上一次作業中,在視口變化之后,我們調用了函數rasterize_wireframe(const Triangle& ...
作業描述 給定一個點P=(2,1), 將該點繞原點先逆時針旋轉45◦,再平移(1,2), 計算出變換后點的坐標(要求用齊次坐標進行計算)。 UE4 知識點 主要矩陣 FMatrix FBasisVectorMatrix ...
總覽 在這次編程任務中,我們會進一步模擬現代圖形技術。我們在代碼中添加了Object Loader(用於加載三維模型), Vertex Shader 與Fragment Shader,並且支持了紋理映射。 而在本次實驗中,你需要完成的任務是: 修改函數 ...
總覽 Bézier 曲線是一種用於計算機圖形學的參數曲線。 在本次作業中,你需要實現de Casteljau 算法來繪制由4 個控制點表示的Bézier 曲線(當你正確實現該算法時,你可以支持繪制由更多點來控制的Bézier 曲線)。 你需要修改的函數在提供 ...
總覽 到目前為止,我們已經學習了如何使用矩陣變換來排列二維或三維空間中的對象。所以現在是時候通過實現一些簡單的變換矩陣來獲得一些實際經驗了。在接下來的三次作業中,我們將要求你去模擬一個基於CPU 的光柵化渲染器的簡化版本。 本次作業的任務是填寫一個旋轉矩陣和一個透視投影矩陣。給定三維下 ...
簡介 作業用來校驗自己做的是否正確。請不用copy,因為這是cheat youself。 題目 給定一個點 P=(2,1), 將該點繞原點先逆時針旋轉 45◦,再平移 (1,2), 計算出變換后點的坐標(要求用齊次坐標進行計算)。 code 參考資料 book ...
總覽 在之前的編程練習中,我們實現了基礎的光線追蹤算法,具體而言是光線傳輸、光線與三角形求交。 我們采用了這樣的方法尋找光線與場景的交點:遍歷場景中的所有物體,判斷光線是否與它相交。 在場景中的物體數量不大時,該做法可以取得良好的結果,但當物體數量增多、模型變得 ...