PISCOnoob

导航

Hull/Geometry Outlines Shader

写在前面:

本文章为个人学习笔记,方便以后自己复习,也希望能帮助到他人。

由于本人水平有限难免出现错误,还请评论区指出,多多指教。

部分图元和素材来源于网络,如有侵权请联系本人删除。

参考资料与链接会在文章末尾贴出。

=======================================================================

本文简单介绍一种基于几何轮廓线的描边效果。 核心思路是用两个Pass:第一个Pass只渲染背面并且让轮廓可见(比如通过顶点沿法线方向外扩);第二个Pass正常渲染正面。

为求简洁,这里直接用unlit shader。

第一个pass我们正常渲染,只有_MainTex和_Color两个变量。

fragment shader里面很简单:

在第二个pass里面我们不需要采样贴图,所以也不需要传入uv了,

但是这样第二个pass就挡住了第一个pass,因为渲染是先画第一个pass然后再画第二个pass,就像油画一样后面画的盖住前面画的。另外还需要知道现在我们渲染的画面是背面剔除(为了性能,只渲染你看到到的前面,背面不渲染),这里我们需要反过来,正面剔除,只渲染背面:

如此一来我们就完成了这个简单的简单的shader。

posted on 2022-11-02 09:52  PISCOnoob  阅读(20)  评论(0编辑  收藏  举报