Есть ли у DirectXTextureManager
какие-либо другие методы, которые вызывают Release()
для каких-либо текстур?
Если это так, то, возможно, нет необходимости вызывать clear()
.В частности, проверьте, существует ли деструктор класса или какой-либо другой метод "UniInitialize()
", который уже может выполнить очистку.Лично я также предпочитаю использовать макрос SAFE_RELEASE()
из заголовков DXUT
, поскольку он проверяет, является ли указатель ненулевым перед вызовом Release, и устанавливает его в NULL впоследствии.
Наконец, вы можете найти отладкупроще с выводом из среды выполнения отладки DirectX, которая управляется из «панели управления DirectX» (устанавливается вместе с SDK).Он выведет очень хорошее ведение журнала в окно вывода VisualStudio, включая сведения о невыпущенных ресурсах при завершении работы, которые можно использовать для устранения неполадок кода.