Я бездельничаю с Direct3D - изменяю записи vtable для объекта устройства так, чтобы мои функции вызывались вместо предоставленных. Я заметил, что, несмотря на то, что это в основном работает, в точках что-то восстанавливает таблицу IDirect3DDevice9
, например ID3DXFont::DrawText
- самый первый вызов; скрытые не трогают его.
Почему это происходит?