深度控制命令
概念:
- 什么是深度:表示该像素点在3D世界中与摄像机的距离,深度值(就是你的Z轴)。
- 深度缓冲:缓冲是用来记录一些数据的内存区域,深度缓冲中记录了每个像素点的深度值(Z轴),如果我们启动深度缓冲,在绘制每个像素点之前,3D引擎都会把它们的深度值纪录下来和已经存在的深度值进行比较;
- 深度测试:将已经存在的像素的深度值和将要绘制的像素点的深度值进行比较的过程我们称为深度测试。如果新像素点的深度值小于( < ) 以存在像素点的深度值新像素点替换旧像素点。如果新像素点的深度值大于( > ) 以存在像素点的深度值放弃新像素点绘制;
深度缓冲控制命令:ZWrite
深度缓冲只有两种状态:on / off
注意:如果深度缓冲被关闭了,那么深度测试就会失效;
深度测试命令:ZTest
- 测试命令必须在缓冲开启状态下有用,但是我们也可以单独关闭测试;
- off : 表示关闭深度测试;
- comparsion value: 通过比较运算符和一个浮点数告知引擎我关心多少米范围内的深度问题;
- comparsion: Greatar( > ), Less( < ) , GEqual( >=), LEqual( <= ), Equal (==)