渲染管线理解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]的坐标)三个点的位置。

猜你喜欢

转载自blog.csdn.net/a352614834/article/details/78370374