如果我使用IDirect3DStateBlock9捕获设备(directx 9)状态,我是否可以使用之前创建的接口在设备重置或丢失后恢复设备状态?
答案 0 :(得分:0)
不,你不能。打开调试运行时,并使用调试模式运行,您将收到以下错误。
Direct3D9: (ERROR) :All user created stateblocks must be freed before ResetEx can succeed. ResetEx Fails.
另一种方法是您可以手动保存/恢复设备状态而不使用状态块。在渲染之前更改状态时,使用变量保存每个状态,然后在重置设备后恢复状态。