《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 ...
《Unity着色器圣经》9.0.7 | 用户自定义函数
目录索引 译文 要使用自定义函数节点,我们必须了解计算机图形学的基本概念以及如何用 HLSL 编写函数。自定义函数允许我们创建自己的函数,并在 Shader Graph 中以节点的形式使用它们。我们可以...
《Unity着色器圣经》2.0.5 | 无光照着色器
目录索引 译文 “光照”一词指的是物体的材质会被光照的影响,“无光照”则正好相反。无光照着色器(Unlit Shader)指的是三原色模型,通常是我们用来制作效果的基础结构。这类着色器非常适合低...
《Unity着色器圣经》3.2.9 | Cg/HLSL Include
目录索引 译文 指令“.cginc”(Cg include)包含几个文件,可用于在着色器中引入预定义变量和辅助函数。 如果我们检查 USB_simple_color 着色器,我们可以发现以下几个在 pass 中声...
《Unity着色器圣经》6.0.3 | TBN矩阵
目录索引 译文 我们已经知道,TBN矩阵由模型的切线、副切线和法线组成。在本书的第 6.0.1 小节中,我们已经学习了如何将这三种向量从模型空间变换到世界空间,那么接下来我们就要创建一个用于将...