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 中 调试着色器 | 用于调试着色器的最新工具现在作为 visual Studio Microsoft中的一项功能提供,称为 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 的机器学习内部函数。 |