news 2026/4/25 17:14:57

计算机图形学·24 消隐1 深度缓存-扫描线深度缓存-区间扫描线深度缓存

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机图形学·24 消隐1 深度缓存-扫描线深度缓存-区间扫描线深度缓存

本文为记录专业课计算机图形学的部分笔记,参考教材为Angel的第八版交互式计算机图形学——基于WebGL 2.0的自顶向下方法。

1、我们先来考虑基本Z-Buffer算法,基本由来:颜色帧Buffer ,保存各像素颜色值;深度Z-Buffer ,保存各像素处对应物体深度值;深度Z-Buffer中的单元与颜色帧Buffer中的单元一一对应。思路:
①先将Z-Buffer中每个单元的初始值置为-1
规范视见体的最小z值,最大深度值
Z方向(指向纸面外)与视点方向(指向纸面内)相反
②当要改变某个像素的颜色值时,首先检查当前多边形的z值(-深度值)是否大于该像素原来的z值(-深度值) (保存在该像素所对应的z-Buffer的单元中)
如果z值大于,说明当前多边形更靠近观察点,用当前多边形的颜色替换像素原来的颜色;
否则说明在该像素处,当前多边形被前面所绘制的多边形遮挡了,是不可见的,像素的颜色值不改变。

优点是简单稳定,利于硬件实现。缺点是需要一个额外的Z-Buffer及其存储空间,在每个多边形占据的每个像素处都要计算深度值(计算量大)。
2、接下来我们考虑扫描线Z-Buffer算法。由来:Z-Buffer算法中所需要的Z-Buffer容量较大,如
何克服这个缺点?可以将整个绘图区域分割成若干个小区域,然后一个区域一个区域地显示,这样Z-Buffer的单元数只要等于一个区域内像素的个数就可以了。如果将小区域取成屏幕上的扫描线,就得到了扫描线Z-Buffer算法。


3、最后我们考虑区间扫描线算法,它主要避免了逐点计算。区间扫描线算法是扫描线Z-Buffer算法的进一步改进,使得在一条扫描线上每个区间只计算一次深度值。如何做到的?把当前扫描线与各多边形在投影平面的投影的交点进行排序后(连贯性),使扫描线分为若干区间。因此,只要在区间上任一点处找出在该处z值最大的一个面,这个区间上的每一个像素就用这个面的颜色来显示。
将区间分为三类:
① 区间为空、无多边形,如下图(a)所示的区间 [0, a1],此时只要按背景属性显示即可;
② 区间中只包含一个区段,即一条交线或交线的一部分,如下图(a)中的区间[a1, a2]和[a3, a4]。此时,按该区段所在多边形的显示属性进行显示;


经过分割之后,再按照A情形处理即可。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:11:30

WOFOST模型经典输入与替换

“参数 天气 农事 → 交给 ParameterProvider → 选模型 → run_till_terminate() → get_output() → DataFrame” 四类数据分别怎么来类别代码里变量名文件格式 / 来源读取类一句话备注作物参数cropd.crop (CABO) 或 .yml (YAML)CABOFileReader 或 YAMLCropDataProvider官…

作者头像 李华
网站建设 2026/4/23 14:38:02

软件缺少sqlite3.dll文件无法启动情况 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/23 14:38:02

《电脑(PC)端微信消息》 [多开防撤回补丁][4.1.6.9] 下载

微信防撤回插件电脑端的,本次更新的是4.1.6.9版本号的, 因为有些用户没有选择更新,所以老版本依然还是能用的, 根据你自己当前的微信版本进行下载, 如果版本号不匹配,会失效, 所以一定要注意…

作者头像 李华
网站建设 2026/4/23 7:47:39

RISC-V IDE MRS2使用笔记(五):代码片段

RISC-V IDE MRS2使用笔记(五):代码片段 今天给大家分享一下MRS2的自定义代码片段功能,开发者可以通过该图形化界面来添加、修改、删除自定义的代码片段模板。 添加完代码片段模板后,当用户输入该模板中指定的前缀词时&…

作者头像 李华
网站建设 2026/4/23 9:17:39

3、Linux 系统基础命令与自定义设置全解析

Linux 系统基础命令与自定义设置全解析 1. 引言 在使用类 Unix 操作系统(如 Linux)时,可能会遇到各种显示或操作上的问题。比如,我的一位朋友拿到新的 Unix 计算机后,控制台显示不正常,查看文件时操作系统无法识别屏幕尺寸。我尝试使用 stty 命令调整显示属性,却意外…

作者头像 李华
网站建设 2026/4/23 9:17:52

​ [Windows] Topaz Photo AI AI智能图像降噪放大与修复工具

获取地址:Topaz Photo AI 由Topaz Labs出品的旗舰级AI图像处理工具。集成降噪、锐化、放大三大核心AI模型,可自动分析图片并智能应用最佳处理组合。能一键消除高ISO噪点、修复模糊、无损放大至6倍,是摄影师与数码工作流的革命性工具。

作者头像 李华