Главная страница
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.049 c
1-41672
Islander
2003-10-24 09:52
2003.11.13
Как узнать текущую кодовую страницу винды и текущую локаль?


14-41893
euru
2003-10-21 19:11
2003.11.13
Коды городов


3-41016
pwl
2003-10-15 21:26
2003.11.13
Как сохранить часть базы?????????


14-41895
Тролль
2003-10-20 10:48
2003.11.13
ListBox


14-42080
Прячу от админа
2003-10-23 13:29
2003.11.13
Как измерить интернет трафик?