《Unity着色器圣经》3.3.3 | Cg/HLSL片元着色器
目录索引 译文 下一个,也是 pass 中的最后一个功能是片元着色器,也就是我们的着色器代码中名为的“frag”的函数。我们之所以能将 frag 函数称为片元着色器是因为程序中声明了 #pragma fragmen...
《Unity着色器圣经》7.0.7 | 标准表面着色器的结构
目录索引 译文 在继续定义一些函数之前,让我们简单了解一下标准表面着色器(Standard Surface shader)的结构。与无光照着色器不同的是,其特点是结构简化,仅在内置渲染管线(Built-in RP)中...
《Unity着色器圣经》5.0.2 | 向量
目录索引 译文 在我们正式开始实现光照之前,我们需要先理解什么是“向量”,并了解它是如何应用在计算机图形学中的。 向量本身必须被视为一条线或一个箭头,具有大小和方向。 Fig. 5.0.2a 上图...
《Unity着色器圣经》3.0.5 | 颜色与向量类型
目录索引 译文 有了这两种属性,我们就可以在着色器中定义颜色与向量了。 现在假设我们想编写一个用于在运行时更改颜色的着色器,那么,为了能够修改颜色的 RGBA 值,我们就需要为着色器添加颜...
《Unity着色器圣经》4.0.3 | 为Cg/HLSL着色器加上透明度
目录索引 译文 在本节中,我们将添加“Blend”,以便着色器具有明确的Alpha通道。在USB_simple_color的先前配置中,我们添加了颜色来更改纹理的色调。现在,值得一提的是,颜色属性有四个通道(...
《Unity着色器圣经》4.0.7. | Intrinsic functions.
目录索引 译文 在Cg和HLSL中,我们都可以找到有助于我们编程效果的内在函数。这样的函数对应于一般的数学运算,我们根据希望获得的结果在特定情况下使用它们。我们可以找到最常见的函数如下: ...
《Unity着色器圣经》3.1.1 | MPD指数滑条与整数范围
目录索引 译文 这两种绘制器在处理数字范围和精度时非常有用,比如我们可以用指数滑条(PowerSlider)非线性地控制曲线。 指数滑条的声明语法如下所示: [PowerSlider(3.0)] _PropertyName ('Di...
《Unity着色器圣经》3.3.1 | Cg/HLSL变量与连接向量
目录索引 译文 继续回顾我们的 USB_simple_color 着色器,不难发现着色器中有一个 sampler2D 类型的变量和一个四维向量,用于定义 _ MainTex 纹理: sampler2D _MainTex; float4 _MainTex_S...
《Unity着色器圣经》3.1.2 | MPD空白与标题
目录索引 译文 这是我们最后介绍的两种绘制器,可以帮助我们让检查器中的属性们更有条理。“空白(Space)”允许我们在两个属性之间加入空白占位,可以方便我们在材质检查器中分隔开特定的属性...
《Unity着色器圣经》4.1.9. | Min and Max function.
目录索引 译文 “min”是指两个向量或标量之间的最小值,而“max”则相反。我们将在不同的操作中经常使用这些函数,例如,我们可以在计算漫反射时用到max函数:用来返回“0”和法线与光方向之间...


