Главная страница
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.021 c
14-41915
icebeerg
2003-10-21 13:30
2003.11.13
О списании


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


7-42141
proofy
2003-08-06 14:06
2003.11.13
Как менять время??


7-42207
Samael6
2003-08-23 20:03
2003.11.13
Криптография


14-42113
denkop
2003-10-23 00:51
2003.11.13
Купил цифровую видеокамеру, хочу вынуть из неё цифровое видео