Могу ли я получить DirectX (любой версии) для обратного вызова при регистрации ошибки? - PullRequest
1 голос
/ 18 ноября 2009

У меня получился такой вывод после выбора отладочной версии в DirectX CPL:

Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 3
Direct3D9: (ERROR) :Memory Address: 008307ec lAllocID=1 dwSize=00004bc4, ReturnAddr=7248d5ea (pid=000017d4)

Можно ли определить обратный вызов, который запускается при добавлении этих уведомлений в консоль, как при вводе с клавиатуры / мыши? Я хочу иметь возможность делать больше, основываясь на информации.

1 Ответ

0 голосов
/ 18 ноября 2009

Нет, это невозможно. Тем не менее, вы МОЖЕТЕ установить «Break on error», «Break on leaks» и разбить определенный AllocID через панель управления DirectX.

Я не уверен, что есть способ сломить ум предупреждения ...

Редактировать: В случае избыточного изменения состояния рендеринга, как указано выше, это довольно легко исправить. Просто убедитесь, что вы помните, какой конвейер в данный момент установлен и установлен, только если что-то изменилось. Таким образом, избыточные предупреждения исчезнут:)

...