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 编译器支持的各种配置文件的目标。
用于In-Place图像编辑的解压缩和打包DXGI_FORMAT
使用 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 的机器学习内部函数。