Z缓冲区(Z-buffer)

Z缓冲区(Z-buffer)

1.隐藏的表面去除(HSR)
•输入:一组多边形和世界空间上的观点
•输出:2D图像投影多边形,仅包含可见的部分

• 备择方案Z-Buffer(Catmull,1975):
最受欢迎,随着存储价格下降,消除了其他人
•基于扫描线(Y,X,Z)(例如Watkins,1970)
•区域细分(例如Warnock,1969年)
•深度列表或深度优先级方案(Z,X或Y),例如Newell Newell和Sancha,1972)(画家算法的概括)

2.画家的算法
•对象空间(世界空间)算法
•按Z增加顺序排序多边形,然后以相反的顺序渲染(参见GUI中的2D窗口)
•需要有效排序算法
•多边形上的哪个点选择顺序在z?
•与多边形相交的失败阻塞多边形
•可以通过分裂多边形来解决(昂贵):
使用多边形的平面将其他多边形分开两个 - 导致BSP树的想法

3.Z-Buffer
•图像/屏幕空间算法
•(旧:固定功能管道最受欢迎的组合:Phong反射模型,古劳插值,Z-Buffer)
•现代:可编程管道:Phong,Phong,Z-Buffer
•无处不在的硬件
•需要最终屏幕图像的颜色缓冲区,并需要Z-Buffer存储每个像素的深度

4.想象一个2D世界
•Z-Buffer以Z等于最远的可能点进行初始化。

gl.glClearColor(0, 0, 0, 1);
gl.glEnable(GL.GL_DEPTH_TEST);
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);

5.3D
Gouraud插值阴影:
•对于三角形,请局部应用顶点的反射模型确定强度(世界空间计算)
•栅格:双线性插入顶点强度穿过三角形以产生一个值在每个3D屏幕的分段
•使用片段颜色2D屏幕空间中的像素

phong插值阴影:
•每个顶点都有正态(Ni)
•栅格化:双线性将三角形跨三角形的正常插值产生正常的每个片段
•插值过程被驱动从屏幕空间,但正态在世界空间
•使用插值(归一化)正态(在世界上空间)去计算强度
片段(在3D屏幕空间中)
•使用片段为a像素着色在2D屏幕空间中

6.3D HSR:Z缓冲区
•无论是Gouraud还是phong插值阴影,重要每种情况的一部分是我们有3D屏幕空间,一个z坐标分段

IF zs < zbuffer[x,y] THEN
write intensity to framebuffer[x,y];
write zs to zbuffer[x,y];
END;

6.1说明3D中的Z缓冲区优点:
•简单性 - 单if测试。
•场景复杂性没有上限
•by-polygon(按任何顺序);
•可以保存Z-Buffer和屏幕缓冲区的状态,并在以后渲染更多
时间

6.2说明3D中的Z缓冲区缺点:
•过度渲染器 - 像素覆盖现有像素,不必要的信息计算;
•Z-Buffer的内存数量:通常认为20至32位充足的。每个像素20位,分辨率1024x768给出〜2MB。必须将场景缩放到此固定的范围以最大化准确性。

6.3透明度/半透明(Transparency/Translucency)
• 延期
•保存所有像素值:Z-Buffer中的每个像素都维护着所有的链接值列表多边形重叠那个像素
•完成多边形后,有一个强度列表每个像素的值和深度值。
•按深度顺序列表
•按深度,从前到背部,深度顺序加重不同的列表项目:达到非透明多边形(值)后,停止处理那个像素
•使用OpenGL,渲染半透明的对象需要特殊考虑

7.摘要
•栅格性多边形 - 计算多边形盖的像素
•对于可编程管道,最受欢迎的渲染组合是z缓冲区,phong反射模型,phong插值: Z-Buffer在硬件中无处不在(替代:基于瓷砖的递延渲染,例如PowerVR)
•由于固有的效率低下,无法为Z-Buffer留下知名度处理复杂场景时的实时图形
•必须有Z前撤离器策略,例如 BSP树,可能可见的套装
•R,G,B,α。 α的值用于将新值与现有的值融合像素中的价值

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值