《Unity着色器圣经》8.0.1 | 阴影映射
目录索引 译文 阴影映射(Shadow Mapping)是一种允许我们在场景中生成阴影贴图的技术,它的概念非常简单:光影区域是由我们使用的光源产生的,也就是说,如果光源对应的是平行光,那么阴影的投...
《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》6.0.2 | DXT压缩
目录索引 译文 法线贴图对于增加模型表面的细节来说非常有用。然而,法线贴图很大,这会给 GPU 造成较大的图形负担,导致移动设备发烫等影响用户体验的问题。出于上述原因,在着色器中压缩法线...
《Unity着色器圣经》4.0.5. | Debugging a shader.
目录索引 译文 当我们用C#编写脚本时,在Unity中,我们可以使用debug.Log函数调试程序。该函数允许我们在控制台上打印代码的操作,但是,该函数在Cg或HLSL中不可用。那么我们如何调试着色器呢?...
《Unity着色器圣经》9.0.7 | 用户自定义函数
目录索引 译文 要使用自定义函数节点,我们必须了解计算机图形学的基本概念以及如何用 HLSL 编写函数。自定义函数允许我们创建自己的函数,并在 Shader Graph 中以节点的形式使用它们。我们可以...
《Unity着色器圣经》3.2.9 | Cg/HLSL Include
目录索引 译文 指令“.cginc”(Cg include)包含几个文件,可用于在着色器中引入预定义变量和辅助函数。 如果我们检查 USB_simple_color 着色器,我们可以发现以下几个在 pass 中声...
《Unity着色器圣经》6.0.3 | TBN矩阵
目录索引 译文 我们已经知道,TBN矩阵由模型的切线、副切线和法线组成。在本书的第 6.0.1 小节中,我们已经学习了如何将这三种向量从模型空间变换到世界空间,那么接下来我们就要创建一个用于将...
《Unity着色器圣经》8.0.3 | 阴影贴图
目录索引 译文 回到在本章开头创建的着色器 USB_shadow_map,在这一小节中,我们将定义一个用于在模型上接收阴影的纹理。为了实现该操作,让我们在颜色 pass 的 Tag 语义块中加入光照模型&...
《Unity着色器圣经》7.0.1 | 光照模型
目录索引 译文 “光照模型”指的是模型表面与光源之间相互作用的结果。根据该定义,光照模型包括了光源属性(如颜色、强度等)和指定的材料属性。 在着色器中,我们可以逐像素或逐顶点地计算光...
《Unity着色器圣经》4.0.7. | Intrinsic functions.
目录索引 译文 在Cg和HLSL中,我们都可以找到有助于我们编程效果的内在函数。这样的函数对应于一般的数学运算,我们根据希望获得的结果在特定情况下使用它们。我们可以找到最常见的函数如下: ...