2008-10-28 79 views
0

國家至少應包括以下的保存狀態:一個Direct3D設備

  • 通過 SetStreamResource()
  • 指標設置的所有設置

我有一個類,它的Draw()函數將調用SetStreamResource,設置Indices並最終調用DrawIndexedPrimitive()。我想在Draw()返回之前恢復設備狀態。

我要找沿GDI的SaveDC()/ RestoreDC()線的東西。

回答

2

國塊由API提供的保存和恢復設備狀態的數據塊的機制。我從我的書The Direct3D Graphics Pipeline中詳細介紹了第3章Direct3D設備中的狀態塊。您可以從上面的鏈接下載該章節的PDF。

1

貌似這將做到這一點:

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