《Unity着色器圣经》9.0.6 | 节点
目录索引 译文 在第四章中,我们学习了几种常用的函数,其中包括 clamp, abs, min, max 等等等等。这些函数在 Shader graph 中都有具有相同功能的对应节点,例如 Unity 官方文档对于 Clamp 节...
《Unity着色器圣经》4.0.2 | 我们的第一个Cg/HLSL着色器
目录索引 译文 我们将继续使用我们在本章开头创建的“USB_simple_color”着色器。正如我们已经知道的,我们的默认着色器有一个名为_MainTex的纹理,该纹理在属性中进行了配置(这里的配置是指,...
《Unity着色器圣经》10.0.1 | Compute shader structure.
目录索引 译文 到目前为止,我们的研究重点是对Unlit和Surface着色器的理解,它们具有非常相似的结构;两者都在ShaderLab字段中执行,正如我们所知,这是一种允许程序和Unity之间通信的声明性语...
《Unity着色器圣经》4.0.4 | HLSL函数的结构
目录索引 译文 与C#中的函数一样,在HLSL中,函数声明可以返回空(void)或者是一个值。我们必须使用依赖于函数类型的“声明”;它们确定一个值是对应于输入(in)、输出(out)、全局变量(unifo...
《Unity着色器圣经》2.0.6 | 屏幕特效着色器
目录索引 译文 屏幕特效着色器(Image Effect Shader)在结构上与无光照着色器(Unlit Shader)非常相似。屏幕特效主要应用于内置渲染管线(Built-in RP)中的后处理效果,需要使用C#中的函数 ...
《Unity着色器圣经》4.0.6. | Adding URP compatibility.
目录索引 译文 到目前为止,我们实现的许多变量、函数和向量都适用于Cg和HLSL,但是,在某些情况下,我们必须添加URP支持,以便着色器可以编译。在着色器图形的情况下,如果我们想通过使用通用R...
《Unity着色器圣经》4.1.8. | Lerp function.
目录索引 译文 顾名思义,该函数通常用于颜色转换,它允许在两个值之间进行线性插值,例如,我们可以通过lerp,使一个角色的皮肤渐变到另一个皮肤。 其语法如下: float lerp (float a, float b...
《Unity着色器圣经》3.1.1 | MPD指数滑条与整数范围
目录索引 译文 这两种绘制器在处理数字范围和精度时非常有用,比如我们可以用指数滑条(PowerSlider)非线性地控制曲线。 指数滑条的声明语法如下所示: [PowerSlider(3.0)] _PropertyName ('Di...
《Unity着色器圣经》3.3.1 | Cg/HLSL变量与连接向量
目录索引 译文 继续回顾我们的 USB_simple_color 着色器,不难发现着色器中有一个 sampler2D 类型的变量和一个四维向量,用于定义 _ MainTex 纹理: sampler2D _MainTex; float4 _MainTex_S...
《Unity着色器圣经》3.1.2 | MPD空白与标题
目录索引 译文 这是我们最后介绍的两种绘制器,可以帮助我们让检查器中的属性们更有条理。“空白(Space)”允许我们在两个属性之间加入空白占位,可以方便我们在材质检查器中分隔开特定的属性...