保存Direct3D设备的状态

Save State of a Direct3D Device

本文关键字:状态 Direct3D 保存      更新时间:2023-10-16

状态应至少包括以下内容:

  • 所有设置通过SetStreamResource()
  • 指数

我有一个类,它的Draw()函数将调用SetStreamResource,设置Indices,并最终调用DrawIndexedPrimitive()。我想在Draw()返回之前恢复设备状态。

我正在寻找一些类似GDI的SaveDC()/RestoreDC()的东西。

状态块是API提供的保存和恢复设备状态块的机制。我将在第3章中介绍状态块的详细信息。我的书《Direct3D图形管道》中的Direct3D设备。您可以从上面的链接下载该章的PDF。

看起来这些可以做到:

Microsoft::DirectX::Direct3D::Device::BeginStateBlock
Microsoft::DirectX::Direct3D::Device::EndStateBlock