c++ - DirectX 9 在重置调用中保留状态
问题描述
我需要在 IDirect3DDevice9::Reset 调用中保留我的 IDirect3DStateBlock9。我怎样才能做到这一点?我知道它需要被释放,但是有没有办法将数据存储在状态中,以便我可以将它应用到设备上?
解决方案
Direct3D 9 状态块是不透明的。您不能对它们进行序列化,并且如果设备是使用 创建的D3DCREATE_PUREDEVICE
,则不能使用任何Get
方法来尝试恢复各个状态设置。
一旦Reset
发生,您基本上必须再次设置您需要的所有状态。
推荐阅读
- laravel - 按钮上的身份验证中间件:laravel
- c# - 列表的意外行为
- python - 如何从 DJango 网页上的链接调用 python(.py) 脚本?
- php - jQuery $.ajax 发布后从 PHP 页面重定向
- generics - Java 8 wildcard type cannot be instantiated directly
- selenium - I can't get the input of submit type with Python Selenium
- javascript - 范围滑块 - 动画输出编号
- javascript - 如何使用 Jodit 上传器和 Coldfusion 上传图像?
- javascript - 谷歌脚本将音频“.wav”文件从一个文件夹移动到另一个文件夹
- jquery - 清理 jQuery 选择器