光線追蹤演算法 鏡面反射

2022-08-22 13:30:14 字數 667 閱讀 7372

1.鏡面-鏡面光線傳輸計算

只涉及主光線計算而渲染出來的影象無法真實表現現實中的光線照射,通過增加能夠反射光線的材質,進行空間中具有反射材質的物件之間的反射光線的追蹤,可以更好地體現真實感。

2.光線鏡面反射的計算

當光線與包含反射材質的物體進行碰撞後,計算反射方向,追蹤計算得到的反射光線即可,因為光線可能在空間中無限的反射下去,為了避免這種情況,一般定義乙個最大的追蹤深度。根據反射光線與空間的互動可能存在的四種情況,分別返回相應的結果:

反射光線沒有碰撞到任何物體,直接返回背景顏色

反射光線碰撞到漫反射材質物件,則返回漫反射材質物件上該點處的顏色

反射光線碰撞到鏡面反射材質物件,則繼續追蹤碰撞點產生的光線,將追蹤的結果返回

光線與光源碰撞,直接返回光源的顏色

3.乙個典型的渲染結果

在場景中,乙個水平面上放置兩個球體,紅色球體擁有鏡面反射材質,另乙個則為漫反射材質,渲染結果如圖所示:

#####鏡面反射著色**:

```c++

color reflective::shade(const shaderecord& shade_rec) const

#####場景設定**:

```c++

std::shared_ptrbuild()

858 鏡面反射

題目描述 有乙個特殊的正方形房間,每面牆上都有一面鏡子。除西南角以外,每個角落都放有乙個接受器,編號為 0,1,以及 2。正方形房間的牆壁長度為 p,一束雷射從西南角射出,首先會與東牆相遇,入射點到接收器 0 的距離為 q 返回光線最先遇到的接收器的編號 保證光線最終會遇到乙個接收器 示例 1 p ...

UnityShader鏡面反射計算與反射光向量推導

注 本文章主要講解計算方法及推導,原理暫不講解 鏡面反射 specular 又叫高光反射,主要可以來模擬非常光滑的平面受到光線照射所產生的反射效果,使得物體看起來更光滑有光澤。鏡面反射主要有兩種實現方式 phong模型 該模型中關鍵步驟就是計算反射光線。需要提前知道的資訊有 ks 物體材質的高光反射...

鏡面反射與Phong模型

在許多情形中,與景物的內部距離相比,光源與景物之間的距離大得多,例如太陽光照射乙個城市的情形。在這種情形中,可以假定從光源發出的照明作用在整個景物上是恆定的,可以完全不考慮由於距離所引起的變化。下面再看鏡面反射的情形。鏡面反射是指來自具體光源的光線到達可見表面上的某一點後,主要沿著由入射角等於反射角...