《Unity着色器圣经》4.0.4 | HLSL函数的结构
目录索引 译文 与C#中的函数一样,在HLSL中,函数声明可以返回空(void)或者是一个值。我们必须使用依赖于函数类型的“声明”;它们确定一个值是对应于输入(in)、输出(out)、全局变量(unifo...
《Unity着色器圣经》3.0.6 | 纹理类型
目录索引 译文 纹理类型的属性允许我们在着色器中使用纹理。 如果我们想要在3D模型(例如角色模型)上使用纹理,那么我们首先需要为纹理创建一个2D属性,然后通过有两个输入(纹理与UV坐标)的...
《Unity着色器圣经》2.0.2 | 编程语言介绍
目录索引 译文 在开始编写着色器(shader)之前,我们需要先了解一下 Unity 中的三种与 shader 相关的编程语言,它们分别是 HLSL(高级着色器语言 - Microsoft)、Cg(用于图形的C - NVIDIA)...
《Unity着色器圣经》10.0.3 | UV coordinates and texture.
目录索引 译文 在上一节中,我们通过变量m_mainTex和m_texSize定义了纹理及其维度;然而,最终结果对应于Sierpinski三角形的图形表示。 考虑到我们目前正在编写的脚本,在本节中,我们将为效果...
《Unity着色器圣经》6.0.3 | TBN矩阵
目录索引 译文 我们已经知道,TBN矩阵由模型的切线、副切线和法线组成。在本书的第 6.0.1 小节中,我们已经学习了如何将这三种向量从模型空间变换到世界空间,那么接下来我们就要创建一个用于将...
《Unity着色器圣经》3.2.4 | ShaderLab模板
目录索引 译文 根据Unity官方文档(ShaderLab 命令:模板 - Unity 手册)所描述的: 模板缓冲区为帧缓冲区中的每个像素存储一个 8 位整数值。为给定像素执行片元着色器之前,GPU 可以将模板缓冲...
《Unity着色器圣经》4.1.6. | Length function.
目录索引 译文 正如其标题所提到的,length函数是指表示两点之间距离的大小。这个功能在创建几何形状时很有用,例如,我们可以生成圆形或具有圆角的多边形。 其语法如下: float length (float ...
《Unity着色器圣经》1.0.4 | 切线
目录索引 译文 根据Unity官方文档给出的定义: 切线是单位长度的矢量,它顺着网格表面沿水平 (U) 纹理方向。 意思是切线与每个几何面 UV 的 U 坐标轴方向一致。 Fig. 1.0.4a. 通常情况下我们无...
《Unity着色器圣经》7.0.8 | 标准表面着色器的输入与输出
目录索引 译文 与顶点/片元着色器一样,标准表面着色器在默认情况下包含了两个结构类型的函数,它们分别是: Input. SurfaceOutputStandard. 这个结构体与我们在前几节所接触的 appdata(顶点输...
《Unity着色器圣经》4.1.1. | Sin and Cos function.
目录索引 译文 这些三角函数指的是角度的正弦和余弦,即: 余弦是指,相邻边和斜边之间的比率。 正弦是指,对边和斜边之间的比率。 其语法如下: float cos (float n); float2 cos (float2 n); ...





