深度控制命令

本文介绍了3D渲染中的深度控制命令,包括深度缓冲的概念和作用,以及ZWrite和ZTest命令的详细解释。深度缓冲用于记录每个像素的深度值,而深度测试则依据新旧像素的深度值决定是否更新屏幕像素。ZWrite控制是否写入深度值到缓冲,当关闭时,深度测试将失效。ZTest则可以开启或关闭,并设置比较运算来控制在特定深度范围内的渲染效果。
摘要由CSDN通过智能技术生成

深度控制命令

概念:
  • 什么是深度:表示该像素点在3D世界中与摄像机的距离,深度值(就是你的Z轴)。
  • 深度缓冲:缓冲是用来记录一些数据的内存区域,深度缓冲中记录了每个像素点的深度值(Z轴),如果我们启动深度缓冲,在绘制每个像素点之前,3D引擎都会把它们的深度值纪录下来和已经存在的深度值进行比较;
  • 深度测试:将已经存在的像素的深度值和将要绘制的像素点的深度值进行比较的过程我们称为深度测试。如果新像素点的深度值小于( < ) 以存在像素点的深度值新像素点替换旧像素点。如果新像素点的深度值大于( > ) 以存在像素点的深度值放弃新像素点绘制;
深度缓冲控制命令:ZWrite

深度缓冲只有两种状态:on / off
注意:如果深度缓冲被关闭了,那么深度测试就会失效;

深度测试命令:ZTest
  • 测试命令必须在缓冲开启状态下有用,但是我们也可以单独关闭测试;
  • off : 表示关闭深度测试;
  • comparsion value: 通过比较运算符和一个浮点数告知引擎我关心多少米范围内的深度问题;
  • comparsion: Greatar( > ), Less( < ) , GEqual( >=), LEqual( <= ), Equal (==)

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值