1. 程式人生 > >渲染管線理解3

渲染管線理解3

裁剪

在規格化裝置座標中,只有在x∈[-1,1],y∈[-1,1],z∈[-1,1]內的三角形才會被渲染。即在檢視座標中在視錐內的三角形會被渲染。

一般平面裁剪

一般平面裁剪

假設是直線裁剪,PR會被裁剪,平面為ax+by+cz+d=0。法向量指向內側(PQ方向)。即ax+by+cz+d>0的點在內側。
存在一個t使得平面上一點
R=P+t(Q-P),記v=Q-P

0=a(Px+tvx)+b(Py+tvy)+c(Pz+tvz)+dt=aPxbPycPzdavx+bvy+cvzt=aPx+bPy+cPz+d(aPx+bPy+cPz+d)(aQx+bQy+cQz+d)
求得t後,即可計算R點的位置

Sutherland-Hodgeman裁剪演算法

作業

已知三角形在模型空間位置三個點的位置為(1,0,0),(0,1,0),(0,0,1)
先繞x軸旋轉30度,然後平移(1,0,1)到世界空間
已知攝像機座標為(1,0.5,-0.5),看向點(0,0,1),攝像機朝上的向量為(0,1,0),上下視角(fov)為45度,寬高比為2:1,近平面n=0.1,遠平面f=1000。
求在標準化裝置座標中(把視錐規範化到x∈[-1,1], y∈[-1,1],z∈[-,1,1]的座標)三個點的位置。