渲染管道像素阶段“透明度测试”
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渲染管道像素阶段“透明度测试”相关的知识,希望对你有一定的参考价值。
1. Alpha测试/ 透明度测试(Alpha Test)
透明度测试采用一种很极端的机制,通过片元数据,可以获取该片元的alpha值,如果alpha值小于某个阈值,则直接将该片元丢弃,不进行渲染(即只渲染透明度在某一范围内的片元),可以用来做一些树叶镂空的效果。
-
alpha测试本身消耗较大,性能较低,
-
颜色一般采用RGBA四分量来进行表示,其中颜色的Alpha值用来表示物体本身的不透明度(alpha=1表示完全不透明,alpha=0表示完全透明)。Alpha测试可以根据片段颜色的Alpha值来裁剪片段。
-
OpenGL和DIrectX都有内置的函数进行裁剪,其中HLSL中使用Clip(),GLSL中使用discard()。
eg. 在片段着色器中丢弃alpha值小于0.1的片段
以上是关于渲染管道像素阶段“透明度测试”的主要内容,如果未能解决你的问题,请参考以下文章