图形之可见面判别算法

图形中,从3D的转为2D显示到显示器上,处理的一般流程为:3D数据构建(包括纹理、方位、颜色、形状、点数据、uv数据、相机等)、3D->相机世界的矩阵变化、相机视矩阵对世界的截切、投影到相机的观察屏幕、屏幕剪切(获取视口的所有像素的颜色值)、显示到显示器。
可见面判别是其中3D转2d过程中投影到相机观察平面中重要的一步。判断出那些面需要显示,并最终获取观察平面的像素的显示颜色。
一般判别可以有后向面判别算法、深度缓存算法、A缓存算法、扫描线算法。
1、后向面判别算法,根据3D中该面的法线方向和相机观察向量的关系,来过滤掉与物体背面的面。基本可以处理掉百分之五十的面。
原理:假设某3D平面函数为: A*x+B*y+C*z+D=0,其法向量为N=(A,B,C),假设观察向量 为V(X,Y,Z).通过两个向量点积的值,获取两者夹角。N . V>0,则为后向面,需要剔除。
2、深度缓存算法。假设所有物体都要在观察平面投影,则观察平面的每个像素有可能对应着若干个物体的点,而这个像素的最终颜色决定于所有投影为该像素位置的若干点的颜色和透明度。倘若都不是透明的,则观察平面的颜色值肯定等于距离该平面最近的可见面的点的颜色值。而深度可以理解为所有投影为该像素点的点,距离观察平面的距离值。一般归一化为0-1.
这也是为什么一般设置相机都会设置相机的最大和最小观察距离(为了归一化也为了剔除部分物体)。
(ps。先写两个,改天继续)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思依_xuni

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值