Unity中Shader的模板测试

文章目录

  • 前言
  • 什么是模板测试
    • 1、模板缓冲区
    • 2、模板缓冲区中存储的值
    • 3、模板测试是什么(看完以下流程就能知道模板测试是什么)
      • 模板测试就是在渲染,后渲染的物体前,与渲染前的模板缓冲区的值进行比较,选出符合条件的部分,对后渲染的物体进行渲染


前言

Unity中Shader的模板测试


什么是模板测试

1、模板缓冲区

2、模板缓冲区中存储的值

8bit = 2^8 = 256 = 0 ~ 255

3、模板测试是什么(看完以下流程就能知道模板测试是什么)

模板测试就是在渲染,后渲染的物体前,与渲染前的模板缓冲区的值进行比较,选出符合条件的部分,对后渲染的物体进行渲染

在没渲染物体时,模板缓冲区中的默认值为0
Unity中Shader的模板测试_第1张图片
现在,我们在屏幕范围内渲染一个绿色的长方形

Unity中Shader的模板测试_第2张图片

然后,如下图继续渲染一个红色的长方形
Unity中Shader的模板测试_第3张图片

使用模板测试后,就可以实现很多独特的效果
例1:(当渲染红色物体前,如果之前的模板缓冲区值为1,才渲染对应区域的红色物体)
Unity中Shader的模板测试_第4张图片

例2:(当渲染红色物体前,如果之前的模板缓冲区值为1,则不渲染对应区域的红色物体)
Unity中Shader的模板测试_第5张图片

你可能感兴趣的:(Unity,unity,游戏引擎)