В настоящее время я испытываю странную проблему, которая выглядит как Z-Fighting с Direct3D 9. Я подозреваю, что моя проблема на самом деле связана с точностью буфера Z.
Я заметил, что в Debug нет абсолютно никаких артефактов глубины. сборки (я использую Visual Studio 2012). Ошибка возникает только в сборках выпуска.
Используемый в настоящее время формат буфера глубины 24-разрядный с добавлением 8 (D3DFMT_D24X8). Когда я использую только 16-бит, точные артефакты появляются в обеих сборках Debug и Release. Так что это значит? DirectX отклоняет 24-битные буферы глубины? И если это так, зачем вам это делать?
Помимо всего этого, я попытался установить 32-битную версию, но она просто вылетает и возвращает нулевой указатель для устройства D3D.
Заранее большое спасибо.
Вот скриншот моей проблемы: