《Unity着色器圣经》3.2.1 | ShaderLab剔除
目录索引 译文 内置渲染管线(Built-in)和可编程渲染管线(SRP)都支持剔除命令,它能够在像素深度处理中选择删除模型的哪个面。这是什么意思?回想一下,模型对象有内表面和外表面。默认情况...
《Unity着色器圣经》6.0.1 | 法线贴图
目录索引 译文 法线贴图是一种帮助我们在不增加模型顶点的前提下为模型表面生成更多细节的技术。 要想实现这个效果,物体表面的法线必须依照某种参考改变原本的方向。我们可以将每个顶点的法线...
《Unity着色器圣经》2.0.3 | 着色器的种类
目录索引 译文 要想开始我们的着色器(shader)学习之路,我们需要先在 Unity 中创建一个项目。如果你使用 Unity Hub 进行项目管理,那么我建议你使用较新的 Unity 版本(例如2019、2020、2021...
《Unity着色器圣经》4.0.2 | 我们的第一个Cg/HLSL着色器
目录索引 译文 我们将继续使用我们在本章开头创建的“USB_simple_color”着色器。正如我们已经知道的,我们的默认着色器有一个名为_MainTex的纹理,该纹理在属性中进行了配置(这里的配置是指,...
《Unity着色器圣经》8.0.2 | 阴影投射
目录索引 译文 我们将从生成阴影开始,让我们先创建一个无光照着色器并命名为 USB_shadow_map。在这个过程中,我们需要两个 pass,其中一个用于阴影投射,另一个用于接收它们(阴影贴图)...
《Unity着色器圣经》3.0.6 | 纹理类型
目录索引 译文 纹理类型的属性允许我们在着色器中使用纹理。 如果我们想要在3D模型(例如角色模型)上使用纹理,那么我们首先需要为纹理创建一个2D属性,然后通过有两个输入(纹理与UV坐标)的...
《Unity着色器圣经》4.1.3. | Exp, Exp2 and Pow function.
目录索引 译文 这几个函数的特征是在运算中都用到了指数,例如,函数“exp”返回标量和矢量值中以e为基的指数,也就是说,“e”是用来代替(2.7182828182846f)的。 exp(2) = 7.3890560986f It...
《Unity着色器圣经》10.0.1 | Compute shader structure.
目录索引 译文 到目前为止,我们的研究重点是对Unlit和Surface着色器的理解,它们具有非常相似的结构;两者都在ShaderLab字段中执行,正如我们所知,这是一种允许程序和Unity之间通信的声明性语...
《Unity着色器圣经》1.0.9 | 几何处理阶段
目录索引 译文 应用阶段结束后,CPU 通过两个主要步骤向 GPU 请求我们在电脑屏幕上看到的图像: 配置渲染状态,即配置几何处理到像素处理的一系列阶段。 在屏幕上绘制图像。 几何阶段主要负责处...
《Unity着色器圣经》3.2.3 | ShaderLab深度测试
目录索引 译文 深度测试(ZTest)通常用于在有多 pass 的着色器中生成颜色和深度差异。该属性有七个不同的值,分别是: Less. Greater. LEqual. GEqual. Equal. NotEqual. Always. 它们与比较操...