Форум: "Игры";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизПоворот спрайтов Найти похожие ветки
← →
STANT (2003-04-30 14:35) [0]Ипользую DirectDraw: пробую выполнять блиттинг спрайтов с поворотом и зеркальным отображением, но никакого блиттинга не происходит. Читал в статьях, что не все видеокарты поддерживают повороты, но нигде не нашел уточнения (интересуют карты Riva TNT2 и ATI Radeon).
Если аппаратное ускорение не возможно, то ведь должана же быть эмуляция? Может быть нужно использовать интерфейс более новой версии DirectDraw?
Обходные пути проблемы (вижу два) , видимо, не подходят:
1. Создать повернутые копии спрайтов можно для поворотов на углы, кратные П/2. Но как быть с произвольными углами?
2. Поворачивать каждый раз при прорисовке - медленно.
Еще читал, что для этого лучше использовать direct3d, но в моем случае уже поздно: слишком много написано под DDraw и, кроме того, у меня просто не хватит времени на ознакомление с d3d.
Буду рад любой ответу на любой из вопросов.
← →
Sapersky_ (2003-05-02 22:51) [1]Не работают эти повороты ни на каких видеокартах - драйвера не поддерживают. Эмуляции сроду не было (вопросы вроде "а зачем оно тогда" адресовать Б.Г., а не мне). Зеркальное отображение - ещё может быть, толком не помню. Точно есть масштабирование (при наличии аппаратной поддержки).
Процедура поворота вручную есть, например, в библиотеке FastLIB - см. на DelphiGFX. Правда, работает она не с поверхностями, а с TFastDIB. Так что лучше (и в плане производительности тоже) заранее сгенерировать все повороты, запихать их в поверхность и выводить обычным блиттингом.
> Еще читал, что для этого лучше использовать direct3d, но в моем случае уже поздно
Вообще-то для вывода спрайтов необязательно изучать весь D3D... я тут прикинул - минимальная поддержка D3D для DX7 при наличии готового DirectDraw-движка укладывается в 60 строк... правда, весьма желательно понимать, что эти строки значат... :)
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c