《Unity着色器圣经》7.0.1 | 光照模型
目录索引 译文 “光照模型”指的是模型表面与光源之间相互作用的结果。根据该定义,光照模型包括了光源属性(如颜色、强度等)和指定的材料属性。 在着色器中,我们可以逐像素或逐顶点地计算光...
《Unity着色器圣经》1.0.1 | 多边形物体的属性
目录索引 译文 许多年前,当我刚开始学习 Unity 中的着色器时,有几个原因导致我难以理解书本上的内容。我仍然记得有一天,我希望理解语义 POSITION[n] 的操作,但关于它的介绍只有短短一句: ...
《Unity着色器圣经》3.0.9 | MPD关键词枚举
目录索引 译文 关键词枚举会在材质检查器中生成一个弹出式样式菜单。与开关不同的是,这种绘制器允许我们为着色器配置多达九种不同的状态。类似我们在上一小节中所提到的,在声明关键词枚举时,...
《Unity着色器圣经》4.0.7. | Intrinsic functions.
目录索引 译文 在Cg和HLSL中,我们都可以找到有助于我们编程效果的内在函数。这样的函数对应于一般的数学运算,我们根据希望获得的结果在特定情况下使用它们。我们可以找到最常见的函数如下: ...
《Unity着色器圣经》8.0.4 | 阴影实现
目录索引 译文 现在我们已经理解了坐标空间的变换流程,我们可以回到先前创建的 USB_shadow_map 着色器中创建一个名为 NDCToUV 的函数。该函数表示从NDC空间变换到UV空间的过程,并将在顶点...
《Unity着色器圣经》1.1.2 | 渲染管线类型
目录索引 译文 在Unity中,目前有三种已知的渲染管线。我们可以在引擎中找到足以支持最古老版本的内置渲染管线(Built-in RP),除此之外还有通用渲染管线(URP)和高清渲染管线(HDRP),它们...
《Unity着色器圣经》3.2.0 | SubShader剔除与深度测试
目录索引 译文 要想理解这两个概念,我们需要先了解什么是 Z 缓冲(深度缓冲)和深度测试的工作原理。 在正式开始之前,我们需要先了解的是:像素是有深度值的。这些值被存储在一个叫做深度缓...
《Unity着色器圣经》4.1.8. | Lerp function.
目录索引 译文 顾名思义,该函数通常用于颜色转换,它允许在两个值之间进行线性插值,例如,我们可以通过lerp,使一个角色的皮肤渐变到另一个皮肤。 其语法如下: float lerp (float a, float b...
《Unity着色器圣经》10.0.2 | Our first Compute shader.
目录索引 译文 继续使用USB_simple_color_CS,我们将需要一个3D对象用来表现颜色、纹理和UV坐标的变化。我们将在本练习的场景中添加一个quad,并确保其居中,其位置和旋转设置为“零”。 在我们...
《Unity着色器圣经》2.0.7 | 计算着色器
目录索引 译文 计算着色器(Compute Shader)的特点是在显卡上运行,而不是在正常的渲染管线上,在结构上与前文提到的几种着色器有很大不同。 与普通着色器不同的是,计算着色器的扩展名为'.com...