Unity中的计算机图形学(四)---三大测试基础

本文主要探讨Unity渲染管线中的Alpha测试、模板测试和深度测试。Alpha测试用于基于Alpha值决定像素是否显示。模板测试则根据模板缓冲区的值进行像素筛选。深度测试则在确定像素是否位于正确深度后决定是否渲染。文中通过Shader代码示例和具体应用场景解释了这些测试的工作原理。
摘要由CSDN通过智能技术生成

      在第四篇文章中,我们进行了高斯模糊原理讲解和实际操作,接下来我们会重点讲渲染管线中的三大测试,第一篇文章我讲述了写这些文章的初衷,我们还是首先把渲染管线全部流程总体的概括一遍,以Unity为例。然后在看秦大的书,进行有价值的点的解析。因为秦大的书讲的比较底层,也就说讲的比我现在写的还原理还底层。 回到刚才的话题,三大测试的顺序:Alpha、模板测试、深度测试。当然,这里涉及一些计算公式,我在这里会做详细的讲解。

      首先我们从Alpha测试开始。

      Alpha测试:符合条件的Alpha像素显示出来,不符合的去掉。

      在Shader1.0当中我们需要打开AlphaTest通道,然后跟上限制条件,但是在Shader2.0当中,我们可以对于纹理进行直接采样了,所以Alpha值是可以直接得到的。我们在Fragment函数当中可以直接得到,并且进行处理或者叫约束。如下shader代码:

对比我们可以发现变化

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值