着色器设计器

本文档介绍如何将 Visual Studio 着色器设计器用于创建、修改和导出称为 着色器 的自定义可视化效果。

您可以使用着色器设计器为您的游戏或应用程序创建自定义可视化效果,即使您不知道 HLSL 编程。若要在着色器设计器创建着色器,只需将其作为图形布置;即向表示数据和操作的设计图面添加 节点,然后将其连接以确定这些操作处理数据的方式。在每个操作节点,提供效果预览到该点,以便可以可视化其结果。数据流经节点朝向表示着色器的输出的最后一个节点。

支持的格式

着色器设计器支持这些着色器格式:

格式名

文件扩展名

支持的操作(查看、编辑、导出)

定向关系图着色器语言

.dgsl

“查看,编辑”

HLSL 着色器(源代码)

.hlsl

导出

HLSL 着色器 (bytecode)

.cso

导出

C++ 标头(HLSL 字节码数组)

.h

导出

入门

本节描述如何向添加 DGSL 着色器到您的 Visual Studio 项目并提供基本信息帮助您入门。

添加 DGSL 着色器到项目中

  1. 解决方案资源管理器,请打开项目的快捷菜单要添加着色器为,然后选择 添加新建项

  2. 添加新项 对话框中,在 已安装,选择下的 图形,然后选择 视觉着色器图 (.dgsl)

  3. 指定着色器文件的 名称 以及要中创建的 位置

  4. 选择**“添加”**按钮。

Hh315733.collapse_all(zh-cn,VS.110).gif默认值着色器

每次创建一 DGSL 着色器,它以具有一个 点颜色 节点连接到 最终颜色 节点的最小着色器。尽管此着色器完成和工作,但不执行。因此,在创建可以使用着色器的第一步经常会删除 点颜色 节点或从 最终颜色 节点断开该腾出空间。其他节点。

使用着色器设计器。

下面几节描述如何使用着色器设计器与自定义着色器一起使用。

Hh315733.collapse_all(zh-cn,VS.110).gif着色器设计器工具栏

“着色器设计器”工具栏包含帮助您使用 DGSL 着色器关系图的命令。

影响着色器设计器状态的命令位于主 Visual Studio 窗口的**“着色器设计器模式”工具栏。设计工具和命令位于设计图面着色器设计器的“着色器设计器”**工具栏。

这是**“着色器设计器模式”**工具栏:

着色器设计器模式工具栏。

此表描述**“着色器设计人员模式”**工具栏上的项目,这些项目按她们从左至右出现的顺序列在订单中。

工具栏项

描述

选择

启用与关系图上节点和边缘的交互。在此模式下,可以选择节点和移动或删除它们,并且可以建立边缘或中断它们。

平移

相对窗架启用着色器关系图的移动。在设计图面中平移并选择点,然后将其四处移动。

“选择”模式下,可以临时按住 Ctrl 来激活“平移”模式。

缩放

相对于窗架启用更多或小于着色器关系图详细信息的显示。在“缩放”模式下,选择在设计图面上的点然后将其向右或下移放大,或向左或上移缩小。

“选择”模式下,可以通过使用鼠标轮按住 Ctrl来放大或缩小。

适合缩放

显示在窗架的完整着色器关系图。

实时呈现模式

在启用实时呈现时,Visual Studio 重绘该设计图面,即使在没有用户操作执行时。此模式在使用可以随着时间的发展而变化的着色器时有用。

用球体预览

在启用时,球体的模型用于预览着色器。一次只能启用一个预览形状。

用立方体预览

在启用时,立方体的模型用于预览着色器。一次只能启用一个预览形状。

用圆柱体预览

在启用时,圆柱体的模型用于预览着色器。一次只能启用一个预览形状。

用圆锥体预览

在启用时,圆锥体的模型用于预览着色器。一次只能启用一个预览形状。

用茶壶体预览

在启用时,茶壶体的模型用于预览着色器。一次只能启用一个预览形状。

用平面预览

在启用时,平面的模型用于预览着色器。一次只能启用一个预览形状。

工具箱

或者是显示或隐藏“工具箱”窗口。

属性

或者是显示或隐藏“属性”窗口。

高级

包含高级命令和选项。

导出

以多种格式启用一个着色器的导出。

导出为

导出着色器为 HLSL 源代码或编译后的着色器字节码。有关如何导出着色器的更多信息,请参见 如何:导出着色器

图形引擎

启用用于显示该设计图面的呈现器的选择。

“使用 D3D11 呈现”

使用 Direct3D 11 以呈现“着色器设计器”设计图面。

“使用 D3D11WARP 呈现”

使用 Direct3D 11 Windows“高级化平台”(WARP) 呈现“着色器设计器”设计图面。

视图

启用有关着色器设计器的附加信息的选择。

帧速率

在启用时,设计图面的右上角显示当前帧速率。帧速率为每秒绘制场景的帧数。

当您启用“实时呈现模式” 选项时,此选项才有用。

提示提示
您可以选择“高级”按钮再次运行最后一个命令。

Hh315733.collapse_all(zh-cn,VS.110).gif使用节点和连接一起使用

使用**“选择”**模式添加、删除、重新定位、连接和配置节点。这里展示的是如何执行这些基本操作:

在选择模式下执行基本操作

  • 方法:

    • 若要向关系图添加节点,请在**“工具箱”**中选择它,然后将其移动到设计图面。

    • 若要从关系图中移除节点,选择然后按 Delete。

    • 若要重新定位节点,请选择该节点,然后将其移动到新位置。

    • 若要连接两个节点,请将一个节点的输出终端移到另一个节点的输入终端。仅可以连接具有兼容类型的终端。在终端之间的行显示连接。

    • 若要移除连接,在其中一个已连接终端的快捷菜单上,选择**“中断链接”**。

    • 若要配置节点的属性,请选择节点,然后在**“属性”**窗口中,指定属性的新值。

Hh315733.collapse_all(zh-cn,VS.110).gif预览着色器

为帮助您了解如何在您的应用程序中显示着色器,可以配置预览效果的方式。若要类似于您的应用程序,可以选择多个要呈现的形状,配置纹理和其他材料参数,启用基于时间的效果动画,并从不同的角度检查预览。

Hh315733.collapse_all(zh-cn,VS.110).gif形状

着色器设计器包含六个形状—球体、立方体、圆柱体、圆锥体、茶壶体和平面—您可以用于预览您着色器。根据着色器,某些形状可能提供了更好的预览。

选择预览形状

  • 在**“着色器设计器模式”**工具栏上,选择所需的形状。

Hh315733.collapse_all(zh-cn,VS.110).gif纹理和材料参数

许多着色器依赖于纹理和材质属性,以在您的应用程序中为每种对象生成唯一的外观。若要了解着色器在您的应用程序类似的地方,可以设置用于呈现预览的纹理和材料属性,从而匹配您的应用程序中可能使用的纹理与字符串。

将其他纹理绑定到纹理寄存器,或者修改其他材料参数

  1. 在**“选择”模式中,选择设计图面的空白区域。这会导致“属性”**窗口显示全局着色器属性。

  2. 在**“属性”**窗口中,为想要更改的纹理和参数属性指定新的值。

这是可以修改的着色器参数:

Parameter

属性

“纹理 1”“纹理 8”

访问

如果要从模型编辑器设置此属性,则为“公共”;否则为“私有”

文件名

与此纹理寄存器关联的纹理文件的完整路径。

材料环境

访问

如果要从模型编辑器设置此属性,则为“公共”;否则为“私有”

由于间接 – 或环境 – 光照造成的当前像素的漫射色。

材料漫射

访问

如果要从模型编辑器设置此属性,则为“公共”;否则为“私有”

一种颜色,描述当前像素如何漫射直接光照。

材料放射

访问

如果要从模型编辑器设置此属性,则为“公共”;否则为“私有”

当前像素基于自发光照的颜色量。

材料反射

访问

如果要从模型编辑器设置此属性,则为“公共”;否则为“私有”

一种颜色,描述当前像素如何反射直接光照。

材料光泽度

访问

如果要从模型编辑器设置此属性,则为“公共”;否则为“私有”

用于定义当前像素的反射高光的强度的指数。

Hh315733.collapse_all(zh-cn,VS.110).gif基于时间的效果

某些着色器对该效果进行动画处理的基于时间的元素。若要显示进行中与该效果类似的地方,必须每秒多次更新预览。默认情况下,当着色器更改时,仅更新预览;若要更改此行为,以便查看基于时间的效果,您必须启用实时呈现。

启用实时呈现

  • 在“着色器设计器”工具栏上,选择**“实时呈现”**。

Hh315733.collapse_all(zh-cn,VS.110).gif检查效果

许多着色器受变量影响,例如视角或定向照明。若要随着变量更改检查该效果如何响应,可以自由旋转预览形状并观察着色器的表现。

旋转形状

  • 按住 Alt,然后选择设计图面上的任何点并移动该点。

Hh315733.collapse_all(zh-cn,VS.110).gif导出多个着色器

可以在您使用应用程序的着色器之前,必须以 DirectX 理解的格式导出它。

您可以导出着色器作为 HLSL 源代码或编译后的着色器字节码。将 HLSL 源代码导出为含有 .hlsl 文件名扩展名的文本文件。着色器 bytecode 可导出上述任一对一 .cso 文件扩展名的基元的二进制文件,或对 c. c++ 标头 (.h) 输入着色器 bytecode 到数组的文件。

有关如何导出着色器的更多信息,请参见 如何:导出着色器

键盘快捷方式

Command

键盘快捷方式

选择“选择”模式。

Ctrl+G,Gtrl+Q

S

切换到“缩放”模式

Ctrl+G, Ctrl+Z

Z

切换到“平移”模式

Ctrl+G, Ctrl+P

K

全选

Ctrl+A

删除当前选定内容

删除

取消当前选择

转义符

放大

Ctrl+ 向前滚动鼠标轮

加号 (+)

缩小

Ctrl- 向后滚动鼠标轮

减号 (-)

向上平移设计图面

向后滚动鼠标轮

PageDown

向下平移设计图面

向前滚动鼠标轮

PageUp

向左平移设计图面

Shift+鼠标轮(向后)

左鼠标轮

Shift + PageDown

向右平移设计图面

Shift+鼠标轮(向前)

右鼠标轮

Shift + PageUp

将键盘焦点移到另一个节点

方向键

选择具有键盘焦点的节点(将节点添加到选择组)

Shift+空格键

切换具有键盘焦点的节点的选定内容

Ctrl+Spacebar

切换当前位置(如果没有选择这些节点,请选择具有键盘焦点的节点)

空格键

将当前选择向上移动

Shift+向上键

将当前选择向下移动

Shift+下箭头

将当前选择向左移动

Shift+向左键

将当前选择向右移动

Shift+向右键

相关主题

标题

描述

为游戏和应用程序使用三维资产

提供可用于纹理使用和图像、三维模型和着色器效果 Visual Studio 工具的概述。

图像编辑器

描述如何使用 Visual Studio 图像编辑器以纹理和图像运行。

模型编辑器

描述如何以三维模型使用 Visual Studio 模型编辑器。