《Unity着色器圣经》4.1.5. | Step and Smoothstep function.
目录索引 译文 Step和smoothstep是非常相似的函数,事实上,它们都有一个名为“edge”的参数,负责区分两个值之间的返回值。 我们将从step开始学习,然后学习smoothstep,它比前一个更为复杂。 ...
《Unity着色器圣经》4.1.4. | Floor function.
目录索引 译文 此函数返回一个不大于其参数的整数值,即没有小数位数的标量或矢量,向下取整,例如1.97f的底数返回1;为什么?因为这个函数将一个数字的小数从总数中减去。 floor (1.56) = 1 it...
《Unity着色器圣经》4.0.4 | HLSL函数的结构
目录索引 译文 与C#中的函数一样,在HLSL中,函数声明可以返回空(void)或者是一个值。我们必须使用依赖于函数类型的“声明”;它们确定一个值是对应于输入(in)、输出(out)、全局变量(unifo...
《Unity着色器圣经》3.3.1 | Cg/HLSL变量与连接向量
目录索引 译文 继续回顾我们的 USB_simple_color 着色器,不难发现着色器中有一个 sampler2D 类型的变量和一个四维向量,用于定义 _ MainTex 纹理: sampler2D _MainTex; float4 _MainTex_S...
《Unity着色器圣经》1.1.3 | 前向渲染
目录索引 译文 前向渲染是默认的渲染路径,支持诸如法线贴图、逐像素光照、阴影等多种材质功能。前向渲染包含了两种可以在着色器内编程的pass,分别是 base pass 和 additional ...
《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》11.0.3 | Smooth minimum between two surfaces.
目录索引 译文 在使用球体跟踪时,通常会使用运算符来生成详细的对象,例如,如果我们想在着色器中创建十字架,我们可以使用六个立方体,将它们连接起来并模拟形状(如图11.0.3a所示)。这种技...
《Unity着色器圣经》10.0.1 | Compute shader structure.
目录索引 译文 到目前为止,我们的研究重点是对Unlit和Surface着色器的理解,它们具有非常相似的结构;两者都在ShaderLab字段中执行,正如我们所知,这是一种允许程序和Unity之间通信的声明性语...
《Unity着色器圣经》4.0.8. | Abs function.
目录索引 译文 这个函数指的是一个数字的绝对值,作为参数,我们可以传递标量值和向量。 其语法如下: // return the absolute value of n float abs(float n) { return max(-n, n); } float2 a...
《Unity着色器圣经》4.1.9. | Min and Max function.
目录索引 译文 “min”是指两个向量或标量之间的最小值,而“max”则相反。我们将在不同的操作中经常使用这些函数,例如,我们可以在计算漫反射时用到max函数:用来返回“0”和法线与光方向之间...




