《Unity着色器圣经》3.3.4 | ShaderLab回退
目录索引 译文 我们曾多次提到过,当我们的子着色器报错或无法与目标硬件兼容时,回退(Fallback)允许我们为材质分配一个兜底的着色器。 其语法如下所示: Fallback 'shaderPath' “着色器路径...
《Unity着色器圣经》3.2.1 | ShaderLab剔除
目录索引 译文 内置渲染管线(Built-in)和可编程渲染管线(SRP)都支持剔除命令,它能够在像素深度处理中选择删除模型的哪个面。这是什么意思?回想一下,模型对象有内表面和外表面。默认情况...
《Unity着色器圣经》3.0.6 | 纹理类型
目录索引 译文 纹理类型的属性允许我们在着色器中使用纹理。 如果我们想要在3D模型(例如角色模型)上使用纹理,那么我们首先需要为纹理创建一个2D属性,然后通过有两个输入(纹理与UV坐标)的...
《Unity着色器圣经》3.3.2 | Cg/HLSL顶点着色器
目录索引 译文 顶点着色器对应于渲染管线中的一个可编程阶段,顶点在这里从三维空间变换为屏幕上的二维投影。顶点着色器的最小计算单位相当于一个独立的顶点。 在 USB_simple_color 着色器中,...
《Unity着色器圣经》1.1.6 | 矩阵与坐标系统
目录索引 译文 矩阵(matrix)是我们在编写着色器时经常遇到的一个概念,是由一组数字组成的阵列。矩阵计算遵循一定的算术规则,经常用于计算机图形学中。 在 Unity 中,矩阵常应用于坐标空间的...
《Unity着色器圣经》1.0.1 | 多边形物体的属性
目录索引 译文 许多年前,当我刚开始学习 Unity 中的着色器时,有几个原因导致我难以理解书本上的内容。我仍然记得有一天,我希望理解语义 POSITION[n] 的操作,但关于它的介绍只有短短一句: ...
《Unity着色器圣经》3.0.8 | MPD开关
目录索引 译文 译者注:MPD是MaterialPropertyDrawer(自定义材质属性绘制器,即上一小节所介绍的内容)的缩写。 在 ShaderLab 中我们无法使用布尔类型的属性,取而代之的是可以实现相同功能的...
《Unity着色器圣经》4.0.7. | Intrinsic functions.
目录索引 译文 在Cg和HLSL中,我们都可以找到有助于我们编程效果的内在函数。这样的函数对应于一般的数学运算,我们根据希望获得的结果在特定情况下使用它们。我们可以找到最常见的函数如下: ...
《Unity着色器圣经》8.0.3 | 阴影贴图
目录索引 译文 回到在本章开头创建的着色器 USB_shadow_map,在这一小节中,我们将定义一个用于在模型上接收阴影的纹理。为了实现该操作,让我们在颜色 pass 的 Tag 语义块中加入光照模型&...
《Unity着色器圣经》7.0.3 | 漫反射
目录索引 译文 一般来说,物体表面有两种类型的反射:漫反射和镜面反射。漫反射(Diffuse Reflection)遵循约翰·海因里希·兰伯特(Johann Heinrich Lambert)的兰伯特余弦辐射体,兰伯特在考...




