
shader
张林博
怕什么真理无穷,进一寸有一寸的欢喜。
展开
-
Unity URP 渲染管线着色器编程 104 之 镜头光晕(lensflare)的实现
在SRP管线中是不支持Unity原有的LensFlare配置的,也就是说如果在URP或者HDRP管线下要使用Lens Flare,需要自己实现改功能。本节介绍一个HDRP的官方DEMO工程 FontainebleauDemo 中使用到的LensFlare功能。该LensFlare模块只需少量的修改就可以在URP管线下使用,但是如果要适配移动端设备,需要做一些修改,同时也可以进行一些性能优化。当然LensFlare的实现不止这一种思路,也可以在屏幕后处理里得到同样的效果,但是屏幕后处理对于移动端设备来说原创 2020-07-30 19:52:02 · 5287 阅读 · 1 评论 -
Unity URP 渲染管线着色器编程 103 之 创建高级水体材质--几何波
上一节我们得到了一个简单但是功能完备的曲面细分着色器的模板,而且细心的朋友可能已经注意到上一节我们创建的shader的名字是tutorial/chapter_2/water,这次我们将在上一节的曲面细分着色器的基础上创建一个有物理波浪的水面材质最终我们会得到如下图的一个水面材质后续的文章里我们会对该shader继续进行扩展,增加浪花和水下焦散效果按照惯例,我们从零碎的知识点开始,最终提供一个完整的shader示例代码。根据摄像机远近控制曲面细分的精度要得到有几何波动的水面,作为水面载体的原创 2020-07-22 23:15:44 · 3508 阅读 · 3 评论 -
Unity URP 渲染管线着色器编程 102 之 曲面细分着色器
通过本节的学习可以得到如下的效果将一个低模的模型通过渲染管线的曲面细分功能得到一个高模的结果当我们开启渲染管线的tessellation开关时,我们传统意义上的顶点着色器功能就发生了改变。因为此时我们提交给IA阶段的内容不再被看作是有三个顶点(vertex)的三角面(triangle)(因为经过曲面细分之后才是三角面),而是看作一个有三个控制点(control point)的片(patch)。这里的控制点,可以理解成贝塞尔曲线的控制点或者PhotoShop钢笔工具的控制点,是控制点组成了这原创 2020-07-21 18:28:41 · 2561 阅读 · 0 评论 -
Unity URP 渲染管线着色器编程 101
随着Unity2019 STL版本的推出,URP管线已经可以作为基础渲染管线进行商业游戏和应用的开发。而原有兼容builtin管线的第三方shader和插件默认是不兼容URP管线的,因此需要手动编辑已有shader使之兼容URP管线,甚至某些情况下要扩展URP渲染管线以实现一些特殊功能。本系列教程会基于URP管线,创建一系列自定义材质,来演示URP管线的使用。从易到难,主要涉及以下内容:URP 下如何进行纹理采样,如何获取系统变换矩阵等基础操作的使用 (本节内容)简单的光照模型(单光源,lamb原创 2020-07-20 23:59:32 · 3435 阅读 · 0 评论