如何:创建基本 Phong 着色器

本文档演示如何使用着色器设计器和定向关系图着色器语言 (DGSL) 来创建实现典型 Phong 照明模型的照明着色器。

本文档演示这些活动:

  • 添加节点到着色器关系图

  • 断开连接节点

  • 连接节点

Phong 照明模型

Phong 照明模型扩展了朗伯照明模型,包括模拟图面的反映属性的反射高光。该镜像元素提供了用于朗伯照明模型的相同定向光源的其他照明,但是,它对最终颜色的基值不同的方式处理。镜像显示在场景影响每个不同的图面,基于视图定向光源、方向和图面的方向之间的关系。它是图面的镜像颜色的产品、镜像功能和方向和光源的颜色、亮度和方向。图面以反映光源直接在该浏览器接收的最大镜像基值和图面反映离开该浏览器的光源不接收基值。在 Phong 照明模型下,一个或多个镜像元素合并确定颜色,并且亮度镜像显示每种在的对象点,然后添加到朗伯照明模型的每个像素的最终颜色。

有关朗伯照明模型的更多信息,请参见 如何:创建基本朗伯着色器

在开始之前,请确保 属性 窗口和 工具箱 显示。

创建 Phong 着色器

  1. 创建一朗伯着色器,如 如何:创建基本朗伯着色器所述。

  2. 最终颜色 节点断开 朗伯 节点。选择 朗伯 节点的 RGB 位置,然后选择 断开链接。这腾出空间。在下一步添加的节点。

  3. 添加一个 添加 节点到关系图中。在 工具箱,在 数学,选择下的 添加 并将其移动至设计图面。

  4. 添加一个**“反射”节点到关系图中。在“实用工具”下的“工具箱”中,选择“反射”**并将其移动到设计图面。

  5. 添加反射量。将 反射 节点的 输出 终端 添加 节点的 X 位置,然后将 朗伯 节点的 输出 终端 添加 节点的 Y 位置。这些连接合并到像素的全面散开和镜像颜色基值。

  6. 连接计算的颜色值到最终颜色。将 添加 节点的 输出 终端 最终颜色 节点的 RGB 位置。

下图显示了完整的着色器关系图和应用于茶壶模型的着色器的预览。

说明说明

使用着色器,的 MaterialDiffuse 参数为了更好地演示着色器的效果此图中的,橙色颜色指定,使用 MaterialSpecularMaterialSpecularPower 参数,因此,金属完成指定的。有关 material 参数的信息,请参见" 着色器设计器的预览的着色器部分。

着色器关系图和其效果的预览。

某些形状可能为某些着色器提供更好的预览。有关如何预览在着色器设计器的着色器的更多信息,请参见" 着色器设计器的预览的着色器部分

下图显示了文档中描述的着色器,该着色器应用于三维模型。MaterialSpecular 属性设置为 (1.00,0.50,0.20,0.00),因此,其 MaterialSpecularPower 属性设置为 16。

说明说明

“MaterialSpecular”属性确定图面材料的明显完成。高光泽度图面(如玻璃或塑料)往往具有是明亮的白色底纹的反射颜色。金属图面往往具有接近其漫射颜色的反射色。光泽完成图面往往具有是暗灰色阴影的一个反射颜色。

“MaterialSpecularPower”属性确定反射光泽的强烈程度。高镜像幂模拟更愚钝,多个本地化的突出显示。非常小镜像幂模拟可以 oversaturate,并隐藏整体的颜色图面的高,转换的突出显示。

应用于模型的 Phong 照明。

有关如何将着色器应用于三维模型的信息的更多信息,请参见 如何:向三维模型应用着色器

请参见

任务

如何:向三维模型应用着色器

如何:导出着色器

如何:创建基本朗伯着色器

概念

着色器设计器

其他资源

着色器设计器节点