透明效果(一)-- 不透明物体的渲染顺序

【本系列文章系学习 唐福幸《Unity ShaderLab 新手宝典》的笔记,包含个人理解,如有错误欢迎批评指出

一句话总结:Unity在渲染不透明物体的时候会先渲染离相机近的物体,并记录物体每个片段的深度值,然后渲染远处的物体时,会先判断该片段的深度值是否是最小的,不是的话就把这部分片段丢了

7.1 不透明物体的渲染顺序

重叠绘制:从后往前(物体A、物体B)渲染,这种方法就会导致物体A有部分重复渲染,虽然渲染结果没有任何差错,但当场景中有许多物体的时候,这种重复渲染就会导致性能急剧降低。
在这里插入图片描述

实际上Unity对不透明物体的渲染顺序设定为:近处的物体优先绘制,再绘制远处的物体(当然不是跟上面一样直接绘制,那样不仅不能解决问题,还可能导致物体消失)

所以,引入新名词:深度值(Depth),又称Z值(存放在屏幕空间顶点坐标z分量上)。

第一步:渲染的时候,显卡会计算每个片段(还没像素化)与摄像机之间的距离(深度值),然后存储在深度缓存中,离相机越近,深度值越小,反之越大。

第二步:然后进行深度测试(ZTest),绘制图像的时候,显卡会将每一个片段的深度值与深度缓存中的值进行对比ÿ

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值