《Unity着色器圣经》1.0.3 | 法线
目录索引 译文 假设我们面前有一张白纸,现在请一位朋友在白纸的正面画画。如果白纸的两面都完全一样,我们要如何区分白纸的“正面”和“反面”呢?这就是法线(normal)存在的原因。法线对应垂...
《Unity着色器圣经》3.1.1 | MPD指数滑条与整数范围
目录索引 译文 这两种绘制器在处理数字范围和精度时非常有用,比如我们可以用指数滑条(PowerSlider)非线性地控制曲线。 指数滑条的声明语法如下所示: [PowerSlider(3.0)] _PropertyName ('Di...
《Unity着色器圣经》4.1.9. | Min and Max function.
目录索引 译文 “min”是指两个向量或标量之间的最小值,而“max”则相反。我们将在不同的操作中经常使用这些函数,例如,我们可以在计算漫反射时用到max函数:用来返回“0”和法线与光方向之间...
《Unity着色器圣经》11.0.2 | Projecting a texture.
目录索引 译文 继续使用USB_SDF_fruit着色器,这一次,我们将在之前生成的SDF平面上投影纹理。我们将首先添加一些稍后将使用的属性。 Shader 'USB/USB_SDF_fruit' { Properties { _Maintex ('Te...
《Unity着色器圣经》1.1.4 | 延迟渲染
目录索引 译文 延迟渲染确保了场景中只有一个用于计算每个光源的pass,而且只计算受光源影响的部分像素,这些计算都是通过分离几何体和光源实现的。延迟渲染的优点在于我们可以在场景中设置大量...
《Unity着色器圣经》3.3.1 | Cg/HLSL变量与连接向量
目录索引 译文 继续回顾我们的 USB_simple_color 着色器,不难发现着色器中有一个 sampler2D 类型的变量和一个四维向量,用于定义 _ MainTex 纹理: sampler2D _MainTex; float4 _MainTex_S...
《Unity着色器圣经》7.0.5 | 环境反射
目录索引 译文 环境反射与高光反射的原理类似,不同在于后者仅被主光源影响,而环境光反射被照射到表面上的每一束光线影响。 Fig. 7.0.5a 实时计算这种类型的反射需要占用大量GPU资源,因此一种...
《Unity着色器圣经》3.0.1 | 顶点/片元着色器的结构
目录索引 译文 为了分析着色器的结构,我们先创建一个名为“USB_simple_color”的无光照着色器(Unlit Shader)。正如我们在上一章节中所介绍的,无光照着色器是一种基本的色彩模型,代码中没有...
《Unity着色器圣经》4.0.8. | Abs function.
目录索引 译文 这个函数指的是一个数字的绝对值,作为参数,我们可以传递标量值和向量。 其语法如下: // return the absolute value of n float abs(float n) { return max(-n, n); } float2 a...
《Unity着色器圣经》9.0.3 | 界面分析
目录索引 译文 我们已经知道,Shader Graph 的界面的样子取决于我们使用了哪个版本。在本节中,我们将详细介绍 Unity 2020.3.1f1 中对应的 10.4.0 版本 Shader Graph 的界面。 开始介 Shader Gr...