Замена устаревшего кода DirectDraw
Вчера я нашел исходные коды для моей игры Tetris, разработанной много лет назад, на C++, Win32 API и DirectDraw 7. Я пытался создать решение без какого-либо успеха, потому что последние выпуски DirectX SDK (июнь 2010 г.) не содержат DDraw.h и DDraw.lib. Больше.
Есть ли рекомендуемый подход (надеюсь, с примерами) для обновления кода с DirectDraw до более нового API? Или я должен просто установить более старый DirectX SDK?
2 ответа
Если вы используете функцию DirectDraw Blit, портирование будет непростой задачей. На мой взгляд, ваш лучший вариант - портировать его на GDI. Однако это может означать написание ваших собственных функций blit.
В противном случае вы могли бы портировать на D3D, хотя это будет довольно сложной задачей и действительно зависит от того, как вы выполняете рендеринг. Если весь ваш рендеринг выполняется с использованием блитов (и без прямого доступа к буферу кадров), тогда будет относительно просто перенести его на D3D. Это также предоставит вам ОГРОМНОЕ повышение скорости.
Тем не менее, вы можете просто получить заголовки DirectDraw (я думаю, что они находятся в Windows SDK) и продолжить использовать DirectDraw.
В DirectX SDK нет движка отрисовки (июнь 2010 г.).
Вы должны найти Ddraw в Windows SDK.
Вы можете найти ddraw.h в Windows SDK, но ddraw.lib также не существует.
как пользоваться? используйте ddraw.dll.