本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
在计算机图形学中,深度缓冲(Depth Buffer)又称Z缓冲区,是一个与渲染目标有相同大小的缓冲,这个缓冲记录每个像素的深度。深度缓冲的目的在于正确地生成通常的深度感知效果:较近的物体遮挡较远的物体。
- 中文名
- 深度缓冲
- 外文名
- Depth Buffer
- 分 类
- 计算机图形学
- 别 名
- Z缓冲区(Z-buffer)
通常认为深度缓冲概念的发明主要归功于 艾德文·卡特姆,虽然 Wolfgang Straßer 也在 1974年 所写的博士论文中提到了同样的思想。深度缓冲思想的出现主要是为了正确的生成深度感知效果:较近的物体遮挡较远的物体。
深度缓冲记录着每个像素点的深度,在绘制每个像素之前,如果启用了深度缓冲,系统会把它的深度值和已经存储在缓冲里的这个像素的深度值进行比较。如果新像素深度值小于原先像素深度值,则新像素值会取代原先的;反之,新像素值被遮挡,它的颜色值和深度将被丢弃。例如在你的场景中有两个矩形:一个是蓝色的而另一个是绿色的,并且设蓝色的Z值为10,绿色的Z值为20(摄像机在原点),这就意味着蓝色的在绿色的前面。如此对于这两个图形重合的像素点,根据深度缓冲绿色的将遮住蓝色的部分。深度缓冲能确定哪个对象在另一个对象的前面。
像素的深度值是由视矩阵和投影矩阵决定的。在近裁平面上的像素深度值为0,在远裁平面上的像素的深度值为1。假设摄像机在原点,那么深度值越小的离摄像机越近。
时间: 2024-10-19 00:15:07