《Unity着色器圣经》7.0.2 | 环境光颜色
目录索引 译文 现实世界中随处可见光影的踪迹,光和影是给物体带来体积感的重要元素之一。有趣的是,所有不发光的物体本质都是黑暗的,而我们之所以能够分辨出物体的一个面和另一个面,靠的是光...
《Unity着色器圣经》7.0.3 | 漫反射
目录索引 译文 一般来说,物体表面有两种类型的反射:漫反射和镜面反射。漫反射(Diffuse Reflection)遵循约翰·海因里希·兰伯特(Johann Heinrich Lambert)的兰伯特余弦辐射体,兰伯特在考...
《Unity着色器圣经》2.0.5 | 无光照着色器
目录索引 译文 “光照”一词指的是物体的材质会被光照的影响,“无光照”则正好相反。无光照着色器(Unlit Shader)指的是三原色模型,通常是我们用来制作效果的基础结构。这类着色器非常适合低...
《Unity着色器圣经》3.1.0 | MPD枚举
目录索引 译文 枚举(Enum)跟关键词枚举(KeywordEnum)很像,不同之处在于枚举可以定义一个 '值/id '作为参数,并传递到着色器命令中使用,从而从检查器中动态更改其功能。 声明语法如下所示...
《Unity着色器圣经》1.0.4 | 切线
目录索引 译文 根据Unity官方文档给出的定义: 切线是单位长度的矢量,它顺着网格表面沿水平 (U) 纹理方向。 意思是切线与每个几何面 UV 的 U 坐标轴方向一致。 Fig. 1.0.4a. 通常情况下我们无...
《Unity着色器圣经》8.0.2 | 阴影投射
目录索引 译文 我们将从生成阴影开始,让我们先创建一个无光照着色器并命名为 USB_shadow_map。在这个过程中,我们需要两个 pass,其中一个用于阴影投射,另一个用于接收它们(阴影贴图)...
《Unity着色器圣经》3.2.1 | ShaderLab剔除
目录索引 译文 内置渲染管线(Built-in)和可编程渲染管线(SRP)都支持剔除命令,它能够在像素深度处理中选择删除模型的哪个面。这是什么意思?回想一下,模型对象有内表面和外表面。默认情况...
《Unity着色器圣经》8.0.4 | 阴影实现
目录索引 译文 现在我们已经理解了坐标空间的变换流程,我们可以回到先前创建的 USB_shadow_map 着色器中创建一个名为 NDCToUV 的函数。该函数表示从NDC空间变换到UV空间的过程,并将在顶点...
《Unity着色器圣经》3.3.1 | Cg/HLSL变量与连接向量
目录索引 译文 继续回顾我们的 USB_simple_color 着色器,不难发现着色器中有一个 sampler2D 类型的变量和一个四维向量,用于定义 _ MainTex 纹理: sampler2D _MainTex; float4 _MainTex_S...
《Unity着色器圣经》3.0.2 | ShaderLab着色器
目录索引 译文 我们编写的大多数着色器都以“Shader”的声明开头,紧随其后的是它在 Unity 检查器中的路径与名字,例如:“shader inspector path/shader name”。 在 ShaderLab 声明式语言中...




