[Unity Shader学习笔记] Unity缓冲区

1 帧缓冲区

帧缓存区也叫做帧缓存,是用于存放一帧中数据信息的容器
在这里插入图片描述
片断着色器在写入帧缓冲之前会进行一系列测试:Alpha测试、模板测试、深度测试…,这些测试决定当前像素是否需要写入帧缓冲。
片断着色器在写入帧缓冲之时,会进行一些运算操作:混合
显示器的扫描方式:随机扫描显示器(基本被淘汰)和光栅扫描显示器(逐像素扫描显示)。
在这里插入图片描述
帧缓冲分为单缓冲和双缓冲两种方式,双缓冲为了解决一帧绘制数据太慢,没有绘制完就绘制下一帧的问题。

在这里插入图片描述

帧缓冲区包括:Depth Buffer、Color Buffer、Stencil Buffer、自定义缓冲区。

2 颜色缓冲区

存储每帧颜色信息的缓冲区

1 bit = 0 1
2 bit = 2^2 = 4
8 bit = 2^8 = 256 (1 byte)
16 bit = 2^16 = 65536 (64k色,2 byte)
24 bit = 2^24 = 16777216 (24位真彩色,3 byte)
1920 * 1080分辨率,使用24位真彩色,会占用多少显存:
1920 * 1080 * (24 / 8)(byte) / 1024 /1024 = 5.93M

3 清除缓冲

清除缓冲的内部指令为Clear(color + Z + stencil),表示清除了三种缓冲:颜色(color)缓冲,深度(Z)缓冲,
模板(stencil)缓冲。
缓冲清除是默认设置是打开的,开发者可以在摄像头(Camera)组件Clear Flags一栏中进行手动关闭或开启(如下图)。
在这里插入图片描述

(PS:如果关闭缓冲清除,可能出现如下图的效果,原因是因为上帧的缓冲未被清除,导致上帧渲染的模型图像未被清除)
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值