《Unity着色器圣经》3.1.3 | ShaderLab子着色器
目录索引 译文 着色器的第二个重要组成是子着色器(SubShader),着色器如果想完美的加载运行至少需要包含一个子着色器。当一个着色器中有多个子着色器时,Unity 将逐一处理,并根据硬件特性从...
《Unity着色器圣经》9.0.4 | 我们的第一个Shader Graph
目录索引 译文 为了测试由 Shader Graph 构建的着色器,我们接下来将使用 URP。 我们将从安装 Shader Graph 包开始,从 Unity 的项目界面创建无光照 Shader Graph(路径:Create/Shader/Univer...
《Unity着色器圣经》3.2.6 | CGPROGRAM/ENDCG
目录索引 译文 在前面几个小节学习到的所有部分都是用 ShaderLab 这种声明式语言编写的,而我们在图形编程语言方面的真正挑战是从 CGPROGRAM 或 HLSLPROGRAM 声明开始的。 默认情况下,我们会发...
《Unity着色器圣经》3.0.5 | 颜色与向量类型
目录索引 译文 有了这两种属性,我们就可以在着色器中定义颜色与向量了。 现在假设我们想编写一个用于在运行时更改颜色的着色器,那么,为了能够修改颜色的 RGBA 值,我们就需要为着色器添加颜...
《Unity着色器圣经》7.0.8 | 标准表面着色器的输入与输出
目录索引 译文 与顶点/片元着色器一样,标准表面着色器在默认情况下包含了两个结构类型的函数,它们分别是: Input. SurfaceOutputStandard. 这个结构体与我们在前几节所接触的 appdata(顶点输...
《Unity着色器圣经》3.2.7 | 数据类型
目录索引 译文 在继续学习编写着色器之前,我们需要先了解一下数据类型以及数据类型在 Cg 与 HLSL 之间的微小差异。 当我们在当前版本的Unity中创建着色器时,我们可以找到以下几种精度不同的浮...
《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》3.1.9 | SubShader颜色遮罩
目录索引 译文 颜色遮罩命令允许 GPU 只写入选定的颜色通道,兼容内置渲染管线(Built-in)和可编程渲染管线(SRP)。 当我们新建一个着色器时,GPU 默认写入颜色的所有通道(RGBA)。然而在某...
《Unity着色器圣经》4.0.7. | Intrinsic functions.
目录索引 译文 在Cg和HLSL中,我们都可以找到有助于我们编程效果的内在函数。这样的函数对应于一般的数学运算,我们根据希望获得的结果在特定情况下使用它们。我们可以找到最常见的函数如下: ...
《Unity着色器圣经》4.1.9. | Min and Max function.
目录索引 译文 “min”是指两个向量或标量之间的最小值,而“max”则相反。我们将在不同的操作中经常使用这些函数,例如,我们可以在计算漫反射时用到max函数:用来返回“0”和法线与光方向之间...

