《Unity着色器圣经》3.1.5 | 队列标签
目录索引 译文 一般来说队列标签不会以一行代码的形式出现在着色器中,因为它是默认在 GPU 中编译的,与每个材质的对象处理顺序直接相关。 Tags { 'Queue'='Geometry' } 这个标签与相机和GPU密...
《Unity着色器圣经》1.0.3 | 法线
目录索引 译文 假设我们面前有一张白纸,现在请一位朋友在白纸的正面画画。如果白纸的两面都完全一样,我们要如何区分白纸的“正面”和“反面”呢?这就是法线(normal)存在的原因。法线对应垂...
《Unity着色器圣经》3.3.2 | Cg/HLSL顶点着色器
目录索引 译文 顶点着色器对应于渲染管线中的一个可编程阶段,顶点在这里从三维空间变换为屏幕上的二维投影。顶点着色器的最小计算单位相当于一个独立的顶点。 在 USB_simple_color 着色器中,...
《Unity着色器圣经》3.2.9 | Cg/HLSL Include
目录索引 译文 指令“.cginc”(Cg include)包含几个文件,可用于在着色器中引入预定义变量和辅助函数。 如果我们检查 USB_simple_color 着色器,我们可以发现以下几个在 pass 中声...
《Unity着色器圣经》1.0.5 | UV坐标
目录索引 译文 你给自己喜欢的游戏角色换过皮肤吗?UV坐标与角色换肤这件事息息相关,因为它允许我们在三维模型表面定位二维纹理。以UV坐标作为参考,可以控制网格中的每个顶点与贴图中的哪些像...
《Unity着色器圣经》4.1.1. | Sin and Cos function.
目录索引 译文 这些三角函数指的是角度的正弦和余弦,即: 余弦是指,相邻边和斜边之间的比率。 正弦是指,对边和斜边之间的比率。 其语法如下: float cos (float n); float2 cos (float2 n); ...
《Unity着色器圣经》3.3.1 | Cg/HLSL变量与连接向量
目录索引 译文 继续回顾我们的 USB_simple_color 着色器,不难发现着色器中有一个 sampler2D 类型的变量和一个四维向量,用于定义 _ MainTex 纹理: sampler2D _MainTex; float4 _MainTex_S...
《Unity着色器圣经》3.1.0 | MPD枚举
目录索引 译文 枚举(Enum)跟关键词枚举(KeywordEnum)很像,不同之处在于枚举可以定义一个 '值/id '作为参数,并传递到着色器命令中使用,从而从检查器中动态更改其功能。 声明语法如下所示...
《Unity着色器圣经》1.0.4 | 切线
目录索引 译文 根据Unity官方文档给出的定义: 切线是单位长度的矢量,它顺着网格表面沿水平 (U) 纹理方向。 意思是切线与每个几何面 UV 的 U 坐标轴方向一致。 Fig. 1.0.4a. 通常情况下我们无...
《Unity着色器圣经》3.1.1 | MPD指数滑条与整数范围
目录索引 译文 这两种绘制器在处理数字范围和精度时非常有用,比如我们可以用指数滑条(PowerSlider)非线性地控制曲线。 指数滑条的声明语法如下所示: [PowerSlider(3.0)] _PropertyName ('Di...