《Unity着色器圣经》9.0.2 | 准备Shader Graph环境
目录索引 译文 有两种往项目中添加 Shader Graph 的方式: 在创建项目时选择 URP 或 HDRP 模板 在 Unity 包管理器(路径:Window / Package Manager)中安装 Shader Graph 包 如果我们用 URP ...
《Unity着色器圣经》4.0.9. | Ceil function.
目录索引 译文 根据NVIDIA的官方文档: Ceil returns the smallest integer not less than a scalar or each vector component. 这是什么意思?函数ceil(n)将返回一个整数,也就是说,没有小...
《Unity着色器圣经》3.2.1 | ShaderLab剔除
目录索引 译文 内置渲染管线(Built-in)和可编程渲染管线(SRP)都支持剔除命令,它能够在像素深度处理中选择删除模型的哪个面。这是什么意思?回想一下,模型对象有内表面和外表面。默认情况...
《Unity着色器圣经》5.0.3 | 点乘
目录索引 译文 点乘是我们在计算光照和反射时经常会用到的一种运算,因为它可以确定两个向量之间的角度,并返回一个标量(即一个一维变量)。一般来说点乘得到的结果会进行归一化(normalized)...
《Unity着色器圣经》8.0.2 | 阴影投射
目录索引 译文 我们将从生成阴影开始,让我们先创建一个无光照着色器并命名为 USB_shadow_map。在这个过程中,我们需要两个 pass,其中一个用于阴影投射,另一个用于接收它们(阴影贴图)...
《Unity着色器圣经》4.1.4. | Floor function.
目录索引 译文 此函数返回一个不大于其参数的整数值,即没有小数位数的标量或矢量,向下取整,例如1.97f的底数返回1;为什么?因为这个函数将一个数字的小数从总数中减去。 floor (1.56) = 1 it...
《Unity着色器圣经》3.2.5 | ShaderLab Pass
目录索引 译文 着色器的第三个重要部分被称为 Pass。 在一个着色器中可以有多个 pass,但 Unity 在用户新建着色器时,在默认情况下只会在子着色器语义块中预设一个 pass。 回头看看我们在章节初...
《Unity着色器圣经》6.0.3 | TBN矩阵
目录索引 译文 我们已经知道,TBN矩阵由模型的切线、副切线和法线组成。在本书的第 6.0.1 小节中,我们已经学习了如何将这三种向量从模型空间变换到世界空间,那么接下来我们就要创建一个用于将...
《Unity着色器圣经》4.0.5. | Debugging a shader.
目录索引 译文 当我们用C#编写脚本时,在Unity中,我们可以使用debug.Log函数调试程序。该函数允许我们在控制台上打印代码的操作,但是,该函数在Cg或HLSL中不可用。那么我们如何调试着色器呢?...
《Unity着色器圣经》3.2.9 | Cg/HLSL Include
目录索引 译文 指令“.cginc”(Cg include)包含几个文件,可用于在着色器中引入预定义变量和辅助函数。 如果我们检查 USB_simple_color 着色器,我们可以发现以下几个在 pass 中声...






