Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Поворот спрайтов   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.058 c
1-41615
Layner
2003-10-22 13:20
2003.11.13
Как округлить число с 5 знаками после запятой до 3х знаков?


14-42114
Zergling
2003-10-21 13:42
2003.11.13
Nastalgy


3-40850
Serhij H.
2003-10-21 11:52
2003.11.13
Значение PARADOX -> NET DIR


8-41748
greenrul
2003-07-08 16:13
2003.11.13
Как склеить несколько bmp в 1?


1-41626
Александр из Минска
2003-10-25 16:35
2003.11.13
Как программе переименовать свой *.exe?