逐片元操作阶段流程图

作者:追风剑情 发布于:2017-8-6 15:40 分类:Shader

逐片元操作(Per-Fragment Operations)流程图

111.jpg

只有通过了所有的测试后,新生成的片元才能和颜色缓冲区中已经存在的像素颜色进行混合,最后再写入颜色缓冲区中。


模板测试(Stencil Test)流程图

22222.jpg

与之相关的是模板缓冲(Stencil Buffer)。实际上,模板缓冲和我们经常听到的颜色缓冲、深度缓冲几乎是一类东西。如果开启了模板测试,GPU会首先读取(使用读取掩码)模板缓冲区中该片元位置的模板值,然后将该值和读取(使用读取掩码)到的参考值(reference value)进行比较,这个比较函数可以是由开发者指定的。

模板测试通常用于限制渲染区域。另外,模板测试还有一些更高级的用法,如渲染阴影、轮廓渲染等。


深度测试(Depth Test)流程图

33333333.jpg

透明效果和深度测试以及深度写入的关系非常密切。


混合操作程序图

44444.jpg

对于不透明物体,开发者可以关闭混合(Blend)操作。这样片元着色器计算得到的颜色值就会直接覆盖掉颜色缓冲区中的像素值。但对于半透明物体,我们就需要使用混合操作来让这个物体看起来是透明的。

标签: Shader

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号