《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》6.0.3 | TBN矩阵
目录索引 译文 我们已经知道,TBN矩阵由模型的切线、副切线和法线组成。在本书的第 6.0.1 小节中,我们已经学习了如何将这三种向量从模型空间变换到世界空间,那么接下来我们就要创建一个用于将...
《Unity着色器圣经》4.0.5. | Debugging a shader.
目录索引 译文 当我们用C#编写脚本时,在Unity中,我们可以使用debug.Log函数调试程序。该函数允许我们在控制台上打印代码的操作,但是,该函数在Cg或HLSL中不可用。那么我们如何调试着色器呢?...
《Unity着色器圣经》3.2.9 | Cg/HLSL Include
目录索引 译文 指令“.cginc”(Cg include)包含几个文件,可用于在着色器中引入预定义变量和辅助函数。 如果我们检查 USB_simple_color 着色器,我们可以发现以下几个在 pass 中声...
《Unity着色器圣经》7.0.1 | 光照模型
目录索引 译文 “光照模型”指的是模型表面与光源之间相互作用的结果。根据该定义,光照模型包括了光源属性(如颜色、强度等)和指定的材料属性。 在着色器中,我们可以逐像素或逐顶点地计算光...
《Unity着色器圣经》7.0.2 | 环境光颜色
目录索引 译文 现实世界中随处可见光影的踪迹,光和影是给物体带来体积感的重要元素之一。有趣的是,所有不发光的物体本质都是黑暗的,而我们之所以能够分辨出物体的一个面和另一个面,靠的是光...
《Unity着色器圣经》4.0.7. | Intrinsic functions.
目录索引 译文 在Cg和HLSL中,我们都可以找到有助于我们编程效果的内在函数。这样的函数对应于一般的数学运算,我们根据希望获得的结果在特定情况下使用它们。我们可以找到最常见的函数如下: ...
《Unity着色器圣经》11.0.1 | Implementing functions with Sphere Tracing.
目录索引 译文 为了正确使用该技术,有必要在着色器中定义至少两个函数。为此,我们必须考虑: 用于确定曲面类型的SDF函数。 另一个计算球体投影的函数。 在Unity中,我们将创建一个类型为“Unl...
《Unity着色器圣经》7.0.3 | 漫反射
目录索引 译文 一般来说,物体表面有两种类型的反射:漫反射和镜面反射。漫反射(Diffuse Reflection)遵循约翰·海因里希·兰伯特(Johann Heinrich Lambert)的兰伯特余弦辐射体,兰伯特在考...
《Unity着色器圣经》9.0.2 | 准备Shader Graph环境
目录索引 译文 有两种往项目中添加 Shader Graph 的方式: 在创建项目时选择 URP 或 HDRP 模板 在 Unity 包管理器(路径:Window / Package Manager)中安装 Shader Graph 包 如果我们用 URP ...