晓的博客

shader入门基础-透明效果四

开启深度写入的透明效果 由于关闭深度写入可能造成错误排序 解决方案:使用两个 pass 来渲染模型 第一个 pass 开启深度写入,但不输出颜色,目的仅仅是把该模型深度值写入到深度缓冲中。 第二个 pass 进行正常的透明度混合,由于上一个 pass 已经得到了逐像素的正确深度信息,该 pass 就可以额按照像素级别 的深度排序结果进行透明渲染。 缺点:多使用一个 pass 会对性能...

shader入门基础-透明效果三

本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解 透明度混合 这种方法可以得到真正的半透明效果,它会使用当前片元的透明度作为混合因子,与已经存储在颜色缓冲中的颜色进行混合,得到新的颜色。 但是透明度混合需要关闭深度写入,这使得我们要非常小心物体的渲染顺序。 混合就和两个操作数有关 源颜色(source color), 目标颜色(destinat...

shader入门基础-透明效果一

本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解 透明度测试(Alpha Test) 当片元的透明度小于某个阈值时,对应片元就会被舍弃,被舍弃的片元不会再进行任何处理,不会对颜色缓冲产生任何影响,当片元透明度大于等于这个阈值的 时候,就会按照普通不透明的物体处理方式来处理,进行深度测试,深度写入等。透明度测试无法得到真正的半透明效果。 透明度...