《Unity着色器圣经》4.0.4 | HLSL函数的结构
目录索引 译文 与C#中的函数一样,在HLSL中,函数声明可以返回空(void)或者是一个值。我们必须使用依赖于函数类型的“声明”;它们确定一个值是对应于输入(in)、输出(out)、全局变量(unifo...
《Unity着色器圣经》8.0.4 | 阴影实现
目录索引 译文 现在我们已经理解了坐标空间的变换流程,我们可以回到先前创建的 USB_shadow_map 着色器中创建一个名为 NDCToUV 的函数。该函数表示从NDC空间变换到UV空间的过程,并将在顶点...
【人工翻译】《Unity着色器圣经》全书目录
《Unity着色器圣经》《Unity Shader Bible》全书目录 第一章 | 着色器编程语言介绍 入门知识 1.0.1 | 多边形物体的属性 1.0.2 | 顶点 1.0.3 | 法线 1.0.4 | 切线 1.0.5 | UV坐标 1.0.6 | 顶点颜...
《Unity着色器圣经》3.0.8 | MPD开关
目录索引 译文 译者注:MPD是MaterialPropertyDrawer(自定义材质属性绘制器,即上一小节所介绍的内容)的缩写。 在 ShaderLab 中我们无法使用布尔类型的属性,取而代之的是可以实现相同功能的...
《Unity着色器圣经》4.1.6. | Length function.
目录索引 译文 正如其标题所提到的,length函数是指表示两点之间距离的大小。这个功能在创建几何形状时很有用,例如,我们可以生成圆形或具有圆角的多边形。 其语法如下: float length (float ...
《Unity着色器圣经》10.0.3 | UV coordinates and texture.
目录索引 译文 在上一节中,我们通过变量m_mainTex和m_texSize定义了纹理及其维度;然而,最终结果对应于Sierpinski三角形的图形表示。 考虑到我们目前正在编写的脚本,在本节中,我们将为效果...
《Unity着色器圣经》1.1.1 | 像素处理阶段
目录索引 译文 使用前序阶段得到的数据进行插值,当所有像素都准备好投射到屏幕上后,最后一个阶段——像素处理阶段就准备开始了。片元着色器阶段(也称为像素着色器阶段)负责决定每个像素是否...
《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》7.0.1 | 光照模型
目录索引 译文 “光照模型”指的是模型表面与光源之间相互作用的结果。根据该定义,光照模型包括了光源属性(如颜色、强度等)和指定的材料属性。 在着色器中,我们可以逐像素或逐顶点地计算光...
《Unity着色器圣经》2.0.6 | 屏幕特效着色器
目录索引 译文 屏幕特效着色器(Image Effect Shader)在结构上与无光照着色器(Unlit Shader)非常相似。屏幕特效主要应用于内置渲染管线(Built-in RP)中的后处理效果,需要使用C#中的函数 ...