HLSL 编程指南

数据作为基元流进入图形管道,并由着色器阶段处理。 实际的着色器阶段取决于 Direct3D 的版本,但当然包括顶点、像素和几何图形阶段。 其他阶段包括用于分割的外壳着色器和域着色器,以及计算着色器。 这些阶段使用高级着色语言 (HLSL) 完全可编程。

HLSL 着色器可以在创作时或在运行时进行编译,并在运行时设置为相应的管道阶段。 Direct3D 9 着色器可以使用 着色器模型 1着色器模型 2着色器模型 3 进行设计;Direct3D 10 着色器只能在 着色器模型 4 上设计。 Direct3D 11 着色器可以在 着色器模型 5 上设计。 Direct3D 11.3 和 Direct3D 12 可以在 着色器模型 5.1 上设计,Direct3D 12 也可以在 着色器模型 6 上设计。

在本节中

主题 说明
使用着色器链接 我们将介绍如何创建预编译的 HLSL 函数,将它们打包到库中,并在运行时将它们链接到完整的着色器中。
在 Direct3D 9 中编写 HLSL 着色器
在 Direct3D 9 中使用着色器
在 Direct3D 10 中使用着色器
优化 HLSL 着色器
在 Visual Studio 中调试着色器 用于调试着色器的最新工具现在作为 Microsoft Visual Studio 中的一项功能提供,称为 Visual Studio 图形调试器。
编译着色器 现在,让我们看看编译着色器代码的各种方法,以及着色器代码的文件扩展名的约定。
指定编译器目标 下面列出了 D3DCompile* 函数和 HLSL 编译器支持的各种配置文件的目标。
打开包装和打包DXGI_FORMAT以便In-Place图像编辑
使用 HLSL 最小精度 从 Windows 8 开始,图形驱动程序可以使用大于或等于其指定位精度的任何精度来实现最小精度 HLSL 标量数据类型
HLSL 着色器模型 5
HLSL 着色器模型 5.1 本部分介绍着色器模型 5.1 在实践中应用于 D3D12 和 D3D11.3 的功能。 所有 DirectX 12 硬件都支持着色器模型 5.1。
HLSL 着色器模型 6.0 描述添加到 HLSL 着色器模型 6.0 的波运算内部函数。
HLSL 着色器模型 6.4 介绍添加到 HLSL 着色器模型 6.4 中的机器学习内部函数。