Unity 剔除和深度测试

剔除

剔除是一种通过避免渲染背对观察者的几何体面来提高性能的优化措施。所有几何体都包含正面和方面。基于大多数都是封闭的事实,不需要绘制背面,也称为背面剔除。

深度测试

把所有物体都赋予一个深度值,离摄像机越近的物体深度值越小。深度小的物体可能把深度大的物体遮挡住。

在深度测试中,默认情况是将要绘制的新像素的z值与缓冲区中对应的z值进行比较,如果比深度缓冲中的值小,那么新像素的颜色值更新缓存中对应像素的颜色值

深度缓存

深度缓存中存着每个像素点的深度值,如果启用了深度缓冲区,在绘制每个像素之前,opengl会把它的深度值和已经存储在这个像素的值进行比较,如果新像素深度值小于原先像素深度值,则新像素值会取代原先的,反之,新像素值被遮挡

Unity关键字

Cull Back不绘制背离观察者的几何面
Cull Front不绘制面向观察者的几何面
Cull Off显示所有面

ZWrite On/off
控制是否将对象的像素写入深度缓存(默认开启),如果需要绘制纯色物体,便将此打开,如果要绘制半透明效果,关闭深度缓存。

ZTest
控制深度测试如何执行

Greater 只渲染大于AlphaValue的像素
GEqual 只渲染大于等于A
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值