《Unity着色器圣经》5.0.2 | 向量
目录索引 译文 在我们正式开始实现光照之前,我们需要先理解什么是“向量”,并了解它是如何应用在计算机图形学中的。 向量本身必须被视为一条线或一个箭头,具有大小和方向。 Fig. 5.0.2a 上图...
《Unity着色器圣经》3.0.6 | 纹理类型
目录索引 译文 纹理类型的属性允许我们在着色器中使用纹理。 如果我们想要在3D模型(例如角色模型)上使用纹理,那么我们首先需要为纹理创建一个2D属性,然后通过有两个输入(纹理与UV坐标)的...
《Unity着色器圣经》4.1.7. | Frac function.
目录索引 译文 这个函数返回一个值的小数部分,也就是说,它的十进制值,例如,1.534f的frac返回0.534f; frac (3,27) = 0,27f It’s the same as 3,27f - 3.frac (0,47) = 0,47ffrac (1,0) = 0...
《Unity着色器圣经》3.2.7 | 数据类型
目录索引 译文 在继续学习编写着色器之前,我们需要先了解一下数据类型以及数据类型在 Cg 与 HLSL 之间的微小差异。 当我们在当前版本的Unity中创建着色器时,我们可以找到以下几种精度不同的浮...
《Unity着色器圣经》3.0.5 | 颜色与向量类型
目录索引 译文 有了这两种属性,我们就可以在着色器中定义颜色与向量了。 现在假设我们想编写一个用于在运行时更改颜色的着色器,那么,为了能够修改颜色的 RGBA 值,我们就需要为着色器添加颜...
《Unity着色器圣经》3.2.9 | Cg/HLSL Include
目录索引 译文 指令“.cginc”(Cg include)包含几个文件,可用于在着色器中引入预定义变量和辅助函数。 如果我们检查 USB_simple_color 着色器,我们可以发现以下几个在 pass 中声...
《Unity着色器圣经》3.1.4 | ShaderLab标签
目录索引 译文 标签可以告诉我们着色器是在什么时候、是怎么被处理的。像 GameObject 标签,它们可以被用于识别着色器的渲染方式或一组着色器的行为。 标签的语法如下所示: Tags { 'TagName1'=...
《Unity着色器圣经》7.0.4 | 镜面反射
目录索引 译文 计算机图形学中,最常用的一种反射模型是由裴祥风(Bui Tuong Phong)发明的 Phong 模型,该模型根据模型的法线实现了镜面反射。在 Maya 3D 中有一种材质就叫这个名字,可以为...
《Unity着色器圣经》2.0.1 | 什么是着色器(shader)?
目录索引 译文 欢迎来到第二章,本章我们将进入 Unity 着色器(shader)专题。着色器是一种带有“.shader”后缀(如 color.shader)的程序,经过编译它们可以在项目中实现有趣的效果。着色器的...
《Unity着色器圣经》1.0.7 | 渲染管线架构
目录索引 译文 在当前的Unity版本中,一共有三种类型的渲染管线,分别是内置渲染管线、通用渲染管线(在早期版本中被称为轻量渲染管线)和高清渲染管线。 所以,什么是渲染管线呢?要想回答这个...




