《Unity着色器圣经》3.1.0 | MPD枚举
目录索引 译文 枚举(Enum)跟关键词枚举(KeywordEnum)很像,不同之处在于枚举可以定义一个 '值/id '作为参数,并传递到着色器命令中使用,从而从检查器中动态更改其功能。 声明语法如下所示...
《Unity着色器圣经》5.0.1 | 配置输入与输出
目录索引 译文 Chapter II | 光照,阴影与表面 在计算机图形学中,最复杂的概念之一是计算光照、阴影与表面。想要得到良好的视觉效果,必须执行一些函数或属性。在大多数情况下,这些函数或属性...
《Unity着色器圣经》1.0.4 | 切线
目录索引 译文 根据Unity官方文档给出的定义: 切线是单位长度的矢量,它顺着网格表面沿水平 (U) 纹理方向。 意思是切线与每个几何面 UV 的 U 坐标轴方向一致。 Fig. 1.0.4a. 通常情况下我们无...
《Unity着色器圣经》2.0.8 | 光线追踪着色器
目录索引 译文 光线追踪着色器是一种扩展名为“.raytrace”的实验性程序,它可以在 GPU 上进行光线追踪计算。光线追踪着色器只能在高清渲染管线(HDRP)下运行,并且有一些限制,比如如果我们想...
《Unity着色器圣经》9.0.2 | 准备Shader Graph环境
目录索引 译文 有两种往项目中添加 Shader Graph 的方式: 在创建项目时选择 URP 或 HDRP 模板 在 Unity 包管理器(路径:Window / Package Manager)中安装 Shader Graph 包 如果我们用 URP ...
《Unity着色器圣经》4.0.4 | HLSL函数的结构
目录索引 译文 与C#中的函数一样,在HLSL中,函数声明可以返回空(void)或者是一个值。我们必须使用依赖于函数类型的“声明”;它们确定一个值是对应于输入(in)、输出(out)、全局变量(unifo...
《Unity着色器圣经》3.3.4 | ShaderLab回退
目录索引 译文 我们曾多次提到过,当我们的子着色器报错或无法与目标硬件兼容时,回退(Fallback)允许我们为材质分配一个兜底的着色器。 其语法如下所示: Fallback 'shaderPath' “着色器路径...
《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》3.0.4 | 数字与滑条类型
目录索引 译文 数字(number)与滑条(slider)两种类型的属性允许我们在着色器中添加数值类型的变量。假设我们打算创建一个实现光照功能的着色器,“0”代表亮度为 0%,“1”代表亮度为 100% ...
《Unity着色器圣经》3.1.5 | 队列标签
目录索引 译文 一般来说队列标签不会以一行代码的形式出现在着色器中,因为它是默认在 GPU 中编译的,与每个材质的对象处理顺序直接相关。 Tags { 'Queue'='Geometry' } 这个标签与相机和GPU密...



