本文档演示如何使用着色器设计器和定向关系图着色器语言来创建基于几何图形的渐变着色器。此着色器按全局昆建内的对象的各点高度缩放常数 RGB 颜色值。
本文档演示这些活动:
添加节点到着色器关系图
设置节点属性
断开连接节点
连接节点
创建基于几何图形渐变着色器
您可以通过将像素的位置实现基于几何图形着色器到您的着色器。在阴影语言,像素比其颜色和位置包含更多信息第 2 屏幕上。像素了解的,因为在数组中的一个 片段 Systems 是描述图面对应于像素值的集合。中介绍的着色器文档使用高度三维对象的每像素在全局空间的影响该片段的最终输出颜色。
在开始之前,请确保 属性 窗口和 工具箱 显示。
创建基于几何图形渐变着色器
创建一 DGSL 着色器使用。有关如何添加 DGSL 着色器的更多信息,请参见" 着色器设计器入门部分。
从 最终颜色 节点断开 点颜色 节点。选择 点颜色 节点的 RGB 位置,然后选择 断开链接。这腾出空间。在下一步添加的节点。
添加一个**“乘”节点到关系图中。在“算术”下的“工具箱”中,选择“乘法”**并将其移动到设计图面。
添加一个**“遮罩向量”节点到关系图中。在“实用工具”下的“工具箱”中,选择“掩码向量”**并将其移动到设计图面。
为**“掩码向量”**节点指定掩码值。在 选择 模式下,选择 遮罩向量 节点,然后在 属性 窗口中,将 绿色/Y 属性设置为 true,然后设置 红色/X、蓝色/Z 和 Alpha / W 属性设置为 false。在此示例中,红色/X、绿色/Y和 蓝色/Z 属性对应于 世界位置 节点的 x、y 和 z 元素,并且,Alpha / W 不使用。由于仅 绿色/Y 设置为 true,因此,只有输入矢量的 y 元素保持,它被遮盖后。
添加一个**“世界位置”节点到关系图中。在“常量”下的“工具箱”,选择“世界位置”**并将其移动到设计图面。
掩饰该片段在世界空间内的位置。在**“选择”模式下,移动“世界位置”节点的“输出”终端到“掩码向量”节点的“向量”**终端。此连接掩饰了该片段的位置以便忽略 x 和 z 组件。
将 RGB 颜色常数乘以掩码自然空间位置。将 点颜色 节点的 RGB 终端 乘 节点的 Y 位置,然后将 遮罩向量 节点的 输出 终端 乘 节点的 X 位置。此连接是由像素的高度在全局空间中称为颜色值。
连接缩放的颜色值到最终颜色。将 乘 节点的 输出 终端 最终颜色 节点的 RGB 位置。
下图显示了完整的着色器关系图和应用于球体的着色器的预览。
![]() |
---|
在此图示中,橙色颜色指定为了更好地演示着色器的效果,但是,因为预览形状没有在全局空间的位置,则着色器在着色器设计器中不能完全预览。该着色器必须在实际场景中预览,演示完整的效果。 |
某些形状可能为某些着色器提供更好的预览。有关如何预览在着色器设计器的着色器的信息,请参见" 着色器设计器的 预览着色器
下图显示了文档中描述的着色器,该着色器应用于三维场景,该场景在 如何:为基本三维场景建模 中进行说明。颜色的深度随着世界中点的高度增加。
有关如何将着色器应用于三维模型的信息的更多信息,请参见 如何:向三维模型应用着色器。