**“图形管道阶段”**窗口是 Visual Studio 中的图形诊断工具之一,可以帮助您了解如何将特定绘制事件移动通过图形管道。
这是**“图形管道阶”**窗口:
.png)
了解“图形管道阶”窗口
**“图形管道阶段”**窗口可以帮助您分析适用于呈现的特定对象的图形管道每个阶段的输出。具体来说,可以标识该数据是错误解释或不正确转换的阶段—例如,可以调查是否顶点着色器阶段导致对象绘制在屏幕之外。当您已标识问题发生的管道阶段时,可以使用其他图像诊断工具来检查数据如何解释或转换。出现在管线阶段的呈现问题通常与不正确的顶点格式描述符、buggy 着色器程序或错误配置的设备状态有关。
图形管线阶段
**“图形管道阶段”窗口仅显示在绘制调用期间活动的管道阶段的图形数据。若要在 Visual Studio 使用图像工具来检查每个显示的阶段的输出,选择“图像管道阶段 ”**窗口中的关联缩略图。
计算着色器不支持在**“图像管道阶段”**窗口。
输入装配器
读取应用程序提供的索引和顶点数据,并针对图形硬件将其汇编。缩略图显示组合的顶点的线框模型。对应于位置的顶点数据由 POSITION 语义确定。如果 POSITION 语义不存在于输入汇编输出中,则在“输入汇编”阶段不会显示任何内容。可以使用模型编辑器检查 输入装配器 阶段的输出。“顶点着色器”
通常通过执行转换、外观和照明等操作来处理顶点。顶点着色器始终采用一个顶点输入并生成一个顶点输出。缩略图显示转换的几何图形的线框图像。对应于位置的顶点数据由 POSITION 或 SV_POSITION 语义确定。如果 POSITION 或 SV_POSITION 语义不存在于顶点着色器输出中,则在“顶点着色器”阶段不会显示任何内容。您可以使用图像编辑器检查**“顶点着色器”**阶段的输出。外壳着色器
仅 Direct3D 11。将几何图形基元(如方形、三角形或线条)馈入作为对固定功能分隔阶段的输入的低序几何图形修补程序。**“船身色器”**阶段不会显示缩略图。“域着色器”
仅 Direct3D 11。处理由固定功能分隔阶段(类似于顶点着色器阶段)输出的细分顶点。**“域着色器”**阶段不会显示缩略图。几何着色器
处理全部基元(点、线条或三角形,及邻近基元的可选顶点信息)。几何着色器可放弃基元或发出一个或多个新基元。缩略图显示转换的几何图形的线框图像。您可以使用图像编辑器检查**“几何图形着色器”**阶段的输出。像素着色器
处理内插顶点数据以生成彩色的像素。缩略图显示像素着色器输出的图像。您可以使用图像编辑器检查**“像素着色器”**阶段的输出。输出合并器
与呈现目标和深度缓冲区的内容一起合并各种着色器结果(例如,像素着色器值和深度信息),与模具缓冲区信息,确定呈现目标如何受影响。在合并各种结果和考虑模具缓冲区的内容后,缩略图将显示呈现目标目录的图像。可以使用图像编辑器检查 输出合并器 阶段的输出。
查看并调试着色器代码
通过使用与着色器相关联的管道阶段下的控件,您可以查看**“顶点着色器”、“外壳着色器 ”、“域着色器”、“几何图形着色器”或“像素着色器”**的代码,也可对它进行调试。
查看着色器的源代码
- 在与要查看的着色器相关的管道阶段下,选择管线阶段的标题,例如,选择**“顶点着色器”**查看顶点着色器源代码。
调试着色器
- 在与要调试的着色器相关的着色器阶段下,管道阶段的标题的下,选择**“开始调试”。HLSL 调试器中的入口点仅调试首个处理的顶点、基元或像素的对应阶段的首个着色器调用。其他对这些着色器的调用可以通过使用“图形像素历史记录”**访问。
指向图形设备的链接
若要了解以特定方式绘制调用交互,可能需要有关当前设备状态的信息。**“图形管道阶段”**窗口提供指向此信息的链接。