渲染管线理解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 ( P x + t v x ) + b ( P y + t v y ) + c ( P z + t v z ) + d t = − a P x − b P y − c P z − d a v x + b v y + c v z t = a P x + b P y + c P z + d ( a P x + b P y + c P z + d ) − ( a Q x + b Q y + c Q z + d ) 0=a(P_x+tv_x)+b(P_y+tv_y)+c(P_z+tv_z)+d\\ t=\dfrac{-aP_x-bP_y-cP_z-d}{av_x+bv_y+cv_z}\\ t=\dfrac{aP_x+bP_y+cP_z+d}{(aP_x+bP_y+cP_z+d)-(aQ_x+bQ_y+cQ_z+d)} 0=a(Px+tvx)+b(Py+tvy)+c(Pz+tvz)+dt=avx+bvy+cvzaPxbPycPzdt=(aPx+bPy+cPz+d)(aQx+bQy+cQz+d)aPx+bPy+cPz+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]的坐标)三个点的位置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值