Замена устаревшего кода DirectDraw - PullRequest
5 голосов
/ 10 декабря 2010

Вчера я нашел исходные коды для моей игры Tetris, разработанной много лет назад, в C ++, Win32 API и DirectDraw 7. Я пытался создать решение без какого-либо успеха, потому что самый последний DirectX SDK (июнь 2010) не дает больше включайте DDraw.h и DDraw.lib.

Есть ли рекомендуемый подход (надеюсь, с примерами) для обновления кода с DirectDraw до более нового API? Или я должен просто установить более старый DirectX SDK?

Ответы [ 2 ]

3 голосов
/ 11 декабря 2010

Если вы используете функциональность DirectDraw blit, портирование будет сложной задачей. На мой взгляд, ваш лучший вариант - портировать его на GDI. Однако это может означать написание ваших собственных функций blit.

В противном случае вы можете портировать на D3D, хотя это будет довольно сложной задачей и действительно зависит от того, как вы выполняете рендеринг. Если весь ваш рендеринг выполняется с использованием блитов (и без прямого доступа к буферу кадров), тогда будет относительно просто перенести его на D3D. Он также предоставит вам ОГРОМНОЕ повышение скорости.

Тем не менее, вы можете просто получить заголовки DirectDraw (я думаю, что они находятся в Windows SDK) и продолжить использовать DirectDraw.

0 голосов
/ 14 марта 2011

В DirectX SDK (июнь 2010 г.) нет движка ddraw.

Вы должны найти ddraw в Windows SDK.

Вы можете найти ddraw.h в Windows SDK, но его нетddraw.lib нет.

как использовать?используйте ddraw.dll.

...