《Unity着色器圣经》7.0.8 | 标准表面着色器的输入与输出
目录索引 译文 与顶点/片元着色器一样,标准表面着色器在默认情况下包含了两个结构类型的函数,它们分别是: Input. SurfaceOutputStandard. 这个结构体与我们在前几节所接触的 appdata(顶点输...
《Unity着色器圣经》7.0.5 | 环境反射
目录索引 译文 环境反射与高光反射的原理类似,不同在于后者仅被主光源影响,而环境光反射被照射到表面上的每一束光线影响。 Fig. 7.0.5a 实时计算这种类型的反射需要占用大量GPU资源,因此一种...
《Unity着色器圣经》3.0.7 | 自定义材质属性绘制器
目录索引 译文 在 ShaderLab 中还有一种叫做“绘制器”的属性类型,这个基类允许我们在 Unity 检查器中创建自定义属性,从而方便用户在着色器中进行条件编程。 通常情况下,除非我们需要声明它...
《Unity着色器圣经》6.0.3 | TBN矩阵
目录索引 译文 我们已经知道,TBN矩阵由模型的切线、副切线和法线组成。在本书的第 6.0.1 小节中,我们已经学习了如何将这三种向量从模型空间变换到世界空间,那么接下来我们就要创建一个用于将...
《Unity着色器圣经》3.3.0 | Cg/HLSL顶点输入&输出
目录索引 译文 我们在着色器中常常使用一种叫“结构体(struct)”的数据类型。对有使用过C语言的人来说,结构体是一种复合数据类型,它定义了由相同类型的多个元素组成的分组列表,并允许通过...
《Unity着色器圣经》1.1.3 | 前向渲染
目录索引 译文 前向渲染是默认的渲染路径,支持诸如法线贴图、逐像素光照、阴影等多种材质功能。前向渲染包含了两种可以在着色器内编程的pass,分别是 base pass 和 additional ...
《Unity着色器圣经》3.2.9 | Cg/HLSL Include
目录索引 译文 指令“.cginc”(Cg include)包含几个文件,可用于在着色器中引入预定义变量和辅助函数。 如果我们检查 USB_simple_color 着色器,我们可以发现以下几个在 pass 中声...
《Unity着色器圣经》6.0.1 | 法线贴图
目录索引 译文 法线贴图是一种帮助我们在不增加模型顶点的前提下为模型表面生成更多细节的技术。 要想实现这个效果,物体表面的法线必须依照某种参考改变原本的方向。我们可以将每个顶点的法线...
《Unity着色器圣经》10.0.2 | Our first Compute shader.
目录索引 译文 继续使用USB_simple_color_CS,我们将需要一个3D对象用来表现颜色、纹理和UV坐标的变化。我们将在本练习的场景中添加一个quad,并确保其居中,其位置和旋转设置为“零”。 在我们...
《Unity着色器圣经》3.1.8 | SubShader透明度遮罩
目录索引 译文 有些类型的混合易于掌控,例如用 Alpha 通道加上透明效果的“SrcAlpha OneMinusSrcAlpha 混合”,但还有一些类型的混合无法为着色器生成透明度。在这种情况下,就需要使用到“透...





