有用的示例

可下载样例,了解 Direct3D 12 的许多功能的用法。

样例

可以从 GitHub/Microsoft/DirectX-Graphics-Samples 下载样例(以 Visual Studio 2015 项目的形式)。

注意

随着示例的添加和更新,此位置提供的示例具体列表将有所不同。

 

标题示例 说明 桌面 UWP 演练
HelloWorld
HelloWindow
HelloTriangle
HelloBundles
HelloConstBuffers
HelloTexture
HelloWorld 示例集包含以下简单项目,可帮助你开始使用 Direct3D 12。
创建一个窗口以准备渲染 Direct3D 12 内容。
使用 Direct3D 12 渲染一个简单的三角形。
演示使用 Direct3D 12 渲染捆绑包的用法。
演示如何使用常量缓冲区将数据传递到用于在 Direct3D 12 中渲染的 GPU。
演示如何使用 Direct3D 12 将纹理应用于三角形。
Y Y 创建基本的 Direct3D 12 组件
D3D12Bundles 演示帧缓冲区和同步最佳做法,以及使用捆绑包渲染简单网格。 Y Y
D3D12Multithreading 如何构建多线程应用程序的示例。 Y N
D3D12nBodyGravity 演示如何使用多引擎在同一个 GPU 上与 3D 工作一起执行异步计算工作。 Y Y 多引擎 n 体重力模拟
D3D12PredicationQueries 使用查询堆和预测来演示封闭剔除。 Y Y 预测查询
D3D12DynamicIndexing 演示 DirectX 12 和 HLSL 的动态索引功能。 Y Y 使用 HLSL 5.1 的动态索引
D3D1211on12 演示 11on12 层的基本用法。 此示例在 Direct3D 12 11on12 设备上使用 Direct3D 11 API 通过 D2D 呈现文本。 Y Y 使用 D3D11on12 的 D2D
D3D12ExecuteIndirect 演示计算引擎剔除与执行间接功能相结合,仅呈现通过剔除测试的对象。 Y Y 间接绘制和 GPU 剔除
D3D12PipelineStateCache 演示管道状态对象 (PSO) 缓存。 Y Y
D3D12Fullscreen 演示如何在 DirectX 12 中处理全屏到窗口的转换和窗口大小调整。 Y Y
D3D12HeterogeneousMultiadapter 演示如何使用共享堆在多个异构 GPU 之间共享工作负载。 Y Y
D3D12ReservedResources 演示保留(平铺)资源的使用。 在此示例中,四色使用包含完整 mip 链的保留资源进行纹理处理。 Y Y
D3D12Residency 这是一种低集成成本的解决方案,使用 Direct3D 11 中的内存管理技术管理 Direct3D 12 堆和提交的资源。 Y Y
D3D12SmallResources 演示如何使用放置的小型资源并介绍使用放置的资源(4K 对齐)比使用提交和保留的资源(64K 对齐)所节省的潜在内存。 Y Y

 

Direct3D 12 编程指南

D3D12 代码演练