《Unity着色器圣经》7.0.5 | 环境反射
目录索引 译文 环境反射与高光反射的原理类似,不同在于后者仅被主光源影响,而环境光反射被照射到表面上的每一束光线影响。 Fig. 7.0.5a 实时计算这种类型的反射需要占用大量GPU资源,因此一种...
《Unity着色器圣经》9.0.7 | 用户自定义函数
目录索引 译文 要使用自定义函数节点,我们必须了解计算机图形学的基本概念以及如何用 HLSL 编写函数。自定义函数允许我们创建自己的函数,并在 Shader Graph 中以节点的形式使用它们。我们可以...
《Unity着色器圣经》3.2.1 | ShaderLab剔除
目录索引 译文 内置渲染管线(Built-in)和可编程渲染管线(SRP)都支持剔除命令,它能够在像素深度处理中选择删除模型的哪个面。这是什么意思?回想一下,模型对象有内表面和外表面。默认情况...
《Unity着色器圣经》2.0.7 | 计算着色器
目录索引 译文 计算着色器(Compute Shader)的特点是在显卡上运行,而不是在正常的渲染管线上,在结构上与前文提到的几种着色器有很大不同。 与普通着色器不同的是,计算着色器的扩展名为'.com...
《Unity着色器圣经》4.1.0. | Clamp function.
目录索引 译文 当我们想要限制运算的结果时,可以使用这个函数。默认情况下,它允许我们通过设置最小值和最大值来定义数值范围内的值。 当我们写一个函数时,我们会遇到一些运算,这些运算会导...
《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》6.0.3 | TBN矩阵
目录索引 译文 我们已经知道,TBN矩阵由模型的切线、副切线和法线组成。在本书的第 6.0.1 小节中,我们已经学习了如何将这三种向量从模型空间变换到世界空间,那么接下来我们就要创建一个用于将...
《Unity着色器圣经》3.0.3 | ShaderLab的属性
目录索引 译文 属性与一系列可以在 Unity 检查里修改的变量相对应,一共有八种有用的类型。我们可以在动态地、甚至在运行时通过着色器的属性调整效果。声明属性的语法如下所示: PropertyName (...
《Unity着色器圣经》3.0.2 | ShaderLab着色器
目录索引 译文 我们编写的大多数着色器都以“Shader”的声明开头,紧随其后的是它在 Unity 检查器中的路径与名字,例如:“shader inspector path/shader name”。 在 ShaderLab 声明式语言中...
《Unity着色器圣经》4.1.5. | Step and Smoothstep function.
目录索引 译文 Step和smoothstep是非常相似的函数,事实上,它们都有一个名为“edge”的参数,负责区分两个值之间的返回值。 我们将从step开始学习,然后学习smoothstep,它比前一个更为复杂。 ...