当前位置:   article > 正文

[Unity Shader学习笔记] Unity缓冲区_unity clear(color+z+stencil)

unity clear(color+z+stencil)

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)
  • 1
  • 2
  • 3
  • 4
  • 5
1920 * 1080分辨率,使用24位真彩色,会占用多少显存:
1920 * 1080 * (24 / 8)(byte) / 1024 /1024 = 5.93M
  • 1
  • 2

3 清除缓冲

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/102811
推荐阅读
相关标签
  

闽ICP备14008679号