Сохранение состояния устройства Direct3D
Вопрос
Государство должно включать, по крайней мере, следующее:
- Все настройки задаются через SetStreamResource()
- Индексы
У меня есть класс, функция Draw() которого вызовет SetStreamResource, установит индексы и в конечном итоге вызовет DrawIndexedPrimitive() .Я хотел бы восстановить состояние устройства до возврата Draw().
Я ищу что-то вроде GDI SaveDC() / RestoreDC().
Решение
Блоки состояния - это механизм, предоставляемый API для сохранения и восстановления фрагментов состояния устройства.Я подробно описываю блоки состояний в главе 3.Устройства Direct3D из моей книги Графический конвейер Direct3D.Вы можете загрузить PDF-файл для этой главы по ссылке выше.
Другие советы
Похоже, это сработает:
Microsoft::DirectX::Direct3D::Device::BeginStateBlock
Microsoft::DirectX::Direct3D::Device::EndStateBlock
Не связан с StackOverflow