《Unity着色器圣经》11.0.1 | Implementing functions with Sphere Tracing.
目录索引 译文 为了正确使用该技术,有必要在着色器中定义至少两个函数。为此,我们必须考虑: 用于确定曲面类型的SDF函数。 另一个计算球体投影的函数。 在Unity中,我们将创建一个类型为“Unl...
《Unity着色器圣经》9.0.4 | 我们的第一个Shader Graph
目录索引 译文 为了测试由 Shader Graph 构建的着色器,我们接下来将使用 URP。 我们将从安装 Shader Graph 包开始,从 Unity 的项目界面创建无光照 Shader Graph(路径:Create/Shader/Univer...
《Unity着色器圣经》3.3.3 | Cg/HLSL片元着色器
目录索引 译文 下一个,也是 pass 中的最后一个功能是片元着色器,也就是我们的着色器代码中名为的“frag”的函数。我们之所以能将 frag 函数称为片元着色器是因为程序中声明了 #pragma fragmen...
《Unity着色器圣经》7.0.3 | 漫反射
目录索引 译文 一般来说,物体表面有两种类型的反射:漫反射和镜面反射。漫反射(Diffuse Reflection)遵循约翰·海因里希·兰伯特(Johann Heinrich Lambert)的兰伯特余弦辐射体,兰伯特在考...
《Unity着色器圣经》3.0.1 | 顶点/片元着色器的结构
目录索引 译文 为了分析着色器的结构,我们先创建一个名为“USB_simple_color”的无光照着色器(Unlit Shader)。正如我们在上一章节中所介绍的,无光照着色器是一种基本的色彩模型,代码中没有...
《Unity着色器圣经》3.1.5 | 队列标签
目录索引 译文 一般来说队列标签不会以一行代码的形式出现在着色器中,因为它是默认在 GPU 中编译的,与每个材质的对象处理顺序直接相关。 Tags { 'Queue'='Geometry' } 这个标签与相机和GPU密...
《Unity着色器圣经》4.1.3. | Exp, Exp2 and Pow function.
目录索引 译文 这几个函数的特征是在运算中都用到了指数,例如,函数“exp”返回标量和矢量值中以e为基的指数,也就是说,“e”是用来代替(2.7182828182846f)的。 exp(2) = 7.3890560986f It...
《Unity着色器圣经》4.2.0. | Timing and animation.
目录索引 译文 在Unity中,有三个用来实现动画效果的内置着色器变量,分别是指_Time、_SinTime和_CosTime。 这些变量是四维向量,其中每个维度表示一个速度级别,例如,“_Time.y”等于自加载场...
《Unity着色器圣经》5.0.2 | 向量
目录索引 译文 在我们正式开始实现光照之前,我们需要先理解什么是“向量”,并了解它是如何应用在计算机图形学中的。 向量本身必须被视为一条线或一个箭头,具有大小和方向。 Fig. 5.0.2a 上图...
《Unity着色器圣经》2.0.6 | 屏幕特效着色器
目录索引 译文 屏幕特效着色器(Image Effect Shader)在结构上与无光照着色器(Unlit Shader)非常相似。屏幕特效主要应用于内置渲染管线(Built-in RP)中的后处理效果,需要使用C#中的函数 ...