《Unity着色器圣经》4.0.4 | HLSL函数的结构
目录索引 译文 与C#中的函数一样,在HLSL中,函数声明可以返回空(void)或者是一个值。我们必须使用依赖于函数类型的“声明”;它们确定一个值是对应于输入(in)、输出(out)、全局变量(unifo...
《Unity着色器圣经》6.0.2 | DXT压缩
目录索引 译文 法线贴图对于增加模型表面的细节来说非常有用。然而,法线贴图很大,这会给 GPU 造成较大的图形负担,导致移动设备发烫等影响用户体验的问题。出于上述原因,在着色器中压缩法线...
《Unity着色器圣经》1.1.4 | 延迟渲染
目录索引 译文 延迟渲染确保了场景中只有一个用于计算每个光源的pass,而且只计算受光源影响的部分像素,这些计算都是通过分离几何体和光源实现的。延迟渲染的优点在于我们可以在场景中设置大量...
《Unity着色器圣经》9.0.5 | Graph检查器
目录索引 译文 Graph 检查器(Graph Inspector)可能根据 Shader Graph 的版本而有所不同,其 10.6.0 版本的外观如图 9.0.5a 所示。 根据 Unity 官方文档: Graph Inspector用于与Shader Graph...
《Unity着色器圣经》8.0.4 | 阴影实现
目录索引 译文 现在我们已经理解了坐标空间的变换流程,我们可以回到先前创建的 USB_shadow_map 着色器中创建一个名为 NDCToUV 的函数。该函数表示从NDC空间变换到UV空间的过程,并将在顶点...
《Unity着色器圣经》1.0.6 | 顶点颜色
目录索引 译文 当我们从建模软件中导出一个模型时,软件会为模型指定一种颜色,以便光照或别的颜色作用于该模型。这种颜色被称为顶点颜色,默认情况下对应于白色,在 RGBA 通道中的值为 '1'。稍...
《Unity着色器圣经》1.0.3 | 法线
目录索引 译文 假设我们面前有一张白纸,现在请一位朋友在白纸的正面画画。如果白纸的两面都完全一样,我们要如何区分白纸的“正面”和“反面”呢?这就是法线(normal)存在的原因。法线对应垂...
《Unity着色器圣经》9.0.1 | 什么是Shader Graph
目录索引 译文 我们已经学习了大部分渲染管线的结构,并了解了 Unity 中着色器的工作原理。在本章节中,我们将介绍一种新的构建着色器的方式:Shader Graph,其结构基于我们之前所学习的知识。 ...
《Unity着色器圣经》3.3.1 | Cg/HLSL变量与连接向量
目录索引 译文 继续回顾我们的 USB_simple_color 着色器,不难发现着色器中有一个 sampler2D 类型的变量和一个四维向量,用于定义 _ MainTex 纹理: sampler2D _MainTex; float4 _MainTex_S...
《Unity着色器圣经》3.1.2 | MPD空白与标题
目录索引 译文 这是我们最后介绍的两种绘制器,可以帮助我们让检查器中的属性们更有条理。“空白(Space)”允许我们在两个属性之间加入空白占位,可以方便我们在材质检查器中分隔开特定的属性...





