1.陰影的作用
陰影效果在真實感影象生成中提供給影象更多的真實感,並且能夠為場景提供某些定性分析,如光照的位置、光照的範圍等資訊。
陰影可以看為光源看不到的地方,即從光源往各個方向傳送光線,則光線無法照射到的區域則為陰影。
在光線追蹤中,從觀察光線與物體的碰撞點向光源引一條光線,光線方向指向光源,若該光線在到達光源之前碰撞到某些物體,則該點位於陰影中。
2.陰影的生成實現
陰影的生成如同上述所講一樣,只需在碰撞點往光源方向引一條光線,然後判斷光線是否與物體相交,然後根據相交與否產生相應的顏色。
具體的**如下(c++實現):
color phong::shade(const shaderecord& shade_rec) const
}} return out_color;
}
3.乙個實際的渲染圖
給出乙個實際的陰影生成效果圖,渲染圖的場景設定**如下:
std::shared_ptrbuildshadow()
#####渲染效果:
!(
Raytracing 光線追蹤演算法
實際上叫反向光線追蹤 backward raytracing 因為計算是從camera開始發射光線,而不是從光源發射光線。反向光線追蹤步驟 1 camera的膠片被分成離散的網格 即畫素點 我們的目標是確定每乙個畫素點的顏色值。2 對於每乙個畫素,從camera位置追蹤一條光線,指向該畫素點 3 對...
光線追蹤(raytracing)
考慮乙個二維平面,攝像機在 0,0 0,0 的位置,初始時平面上沒有障礙物。現在執行qq次操作,操作有兩種 假設這是第ii次操作,1 i q1 i q 1 給定x0,y0,x1,y1 x0 2 給定向量 x,y x,y 會有乙個動點從攝像機所在的 0,0 0,0 位置出發,以 x,y x,y 所指的...
光線追蹤(raytracing)
考慮乙個二維平面,攝像機在 0,0 0,0 的位置,初始時平面上沒有障礙物。現在執行qq次操作,操作有兩種 假設這是第ii次操作,1 i q1 i q 1 給定x0,y0,x1,y1 x0 2 給定向量 x,y x,y 會有乙個動點從攝像機所在的 0,0 0,0 位置出發,以 x,y x,y 所指的...