《Unity着色器圣经》1.0.8 | 应用阶段
目录索引 译文 应用阶段从CPU开始,负责场景中的一系列操作,例如: 碰撞检测 纹理动画 键盘输入 鼠标输入 .... 应用阶段的功能是读取内存中的存储的模型数据,随后生成图元(如三角形、直线、...
《Unity着色器圣经》6.0.1 | 法线贴图
目录索引 译文 法线贴图是一种帮助我们在不增加模型顶点的前提下为模型表面生成更多细节的技术。 要想实现这个效果,物体表面的法线必须依照某种参考改变原本的方向。我们可以将每个顶点的法线...
《Unity着色器圣经》8.0.6 | 通用渲染管线下的阴影映射
目录索引 译文 我们在实现阴影的过程中使用的技术可以根据我们想要实现的类型而有所不同。我们使用的流程是 Unity 中实现阴影的最佳流程,但具体的实现可能因开发者所选的渲染管线而异,例如,...
《Unity着色器圣经》4.1.6. | Length function.
目录索引 译文 正如其标题所提到的,length函数是指表示两点之间距离的大小。这个功能在创建几何形状时很有用,例如,我们可以生成圆形或具有圆角的多边形。 其语法如下: float length (float ...
《Unity着色器圣经》3.2.5 | ShaderLab Pass
目录索引 译文 着色器的第三个重要部分被称为 Pass。 在一个着色器中可以有多个 pass,但 Unity 在用户新建着色器时,在默认情况下只会在子着色器语义块中预设一个 pass。 回头看看我们在章节初...
《Unity着色器圣经》3.2.0 | SubShader剔除与深度测试
目录索引 译文 要想理解这两个概念,我们需要先了解什么是 Z 缓冲(深度缓冲)和深度测试的工作原理。 在正式开始之前,我们需要先了解的是:像素是有深度值的。这些值被存储在一个叫做深度缓...
《Unity着色器圣经》4.0.6. | Adding URP compatibility.
目录索引 译文 到目前为止,我们实现的许多变量、函数和向量都适用于Cg和HLSL,但是,在某些情况下,我们必须添加URP支持,以便着色器可以编译。在着色器图形的情况下,如果我们想通过使用通用R...
《Unity着色器圣经》1.1.1 | 像素处理阶段
目录索引 译文 使用前序阶段得到的数据进行插值,当所有像素都准备好投射到屏幕上后,最后一个阶段——像素处理阶段就准备开始了。片元着色器阶段(也称为像素着色器阶段)负责决定每个像素是否...
《Unity着色器圣经》3.1.1 | MPD指数滑条与整数范围
目录索引 译文 这两种绘制器在处理数字范围和精度时非常有用,比如我们可以用指数滑条(PowerSlider)非线性地控制曲线。 指数滑条的声明语法如下所示: [PowerSlider(3.0)] _PropertyName ('Di...
《Unity着色器圣经》7.0.7 | 标准表面着色器的结构
目录索引 译文 在继续定义一些函数之前,让我们简单了解一下标准表面着色器(Standard Surface shader)的结构。与无光照着色器不同的是,其特点是结构简化,仅在内置渲染管线(Built-in RP)中...






