《Unity着色器圣经》9.0.6 | 节点
目录索引 译文 在第四章中,我们学习了几种常用的函数,其中包括 clamp, abs, min, max 等等等等。这些函数在 Shader graph 中都有具有相同功能的对应节点,例如 Unity 官方文档对于 Clamp 节...
《Unity着色器圣经》2.0.4 | 标准表面着色器
目录索引 译文 标准表面着色器的特点是代码完善适合编写,可与基本光照模型交互,并且仅适用于内置渲染管线(Built-in RP)。如果我们想创建一个与光线交互的着色器,我们有两种选择: 使用 '无...
《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》6.0.2 | DXT压缩
目录索引 译文 法线贴图对于增加模型表面的细节来说非常有用。然而,法线贴图很大,这会给 GPU 造成较大的图形负担,导致移动设备发烫等影响用户体验的问题。出于上述原因,在着色器中压缩法线...
《Unity着色器圣经》3.0.7 | 自定义材质属性绘制器
目录索引 译文 在 ShaderLab 中还有一种叫做“绘制器”的属性类型,这个基类允许我们在 Unity 检查器中创建自定义属性,从而方便用户在着色器中进行条件编程。 通常情况下,除非我们需要声明它...
《Unity着色器圣经》4.0.5. | Debugging a shader.
目录索引 译文 当我们用C#编写脚本时,在Unity中,我们可以使用debug.Log函数调试程序。该函数允许我们在控制台上打印代码的操作,但是,该函数在Cg或HLSL中不可用。那么我们如何调试着色器呢?...
《Unity着色器圣经》8.0.2 | 阴影投射
目录索引 译文 我们将从生成阴影开始,让我们先创建一个无光照着色器并命名为 USB_shadow_map。在这个过程中,我们需要两个 pass,其中一个用于阴影投射,另一个用于接收它们(阴影贴图)...
《Unity着色器圣经》1.1.0 | 光栅化阶段
目录索引 译文 几何处理的第三个阶段是光栅化。此时,我们的模型已经有了屏幕坐标(二维坐标),现在我们必须在投影区域内找到屏幕上物体所占据的所有像素,这个过程被称为光栅化。光栅化可以看...
《Unity着色器圣经》3.1.8 | SubShader透明度遮罩
目录索引 译文 有些类型的混合易于掌控,例如用 Alpha 通道加上透明效果的“SrcAlpha OneMinusSrcAlpha 混合”,但还有一些类型的混合无法为着色器生成透明度。在这种情况下,就需要使用到“透...
《Unity着色器圣经》4.1.6. | Length function.
目录索引 译文 正如其标题所提到的,length函数是指表示两点之间距离的大小。这个功能在创建几何形状时很有用,例如,我们可以生成圆形或具有圆角的多边形。 其语法如下: float length (float ...