Direct3D & Overlay
От: Lis182 Россия  
Дата: 20.04.07 12:30
Оценка:
Микрософт хочет, что бы все постепенно отказывались от DirectDraw, все делая через Direct3D. Действительно, в принципе разумно. Однако, почти все видео плейеры делают вывод через оверлей. Я так и не нашел в Direct3D (8,9) такой возможности.

Я хотел написать поздравлялку подружке, т.е. чтоб на заднем плане что-нить менялось, и ПРАКТИЧЕСКИ НЕ ГРУЗИЛСЯ ПРОЦ. Вообще, эмулировать оверлей не сложно шейдерами, однако, для этого необходимо вывод виндовских окошек сделать в невидимую страницу, потом смешивать (так же, по цветовому ключу) с расчитанной картинкой и выводить на экран. Однако, это тоже неполучилось, т.к. в Direct3D нет доступа к первичной поверхности (или я ошибаюсь?), нет возможности менять порядок в очереди вторичных буферов..

Последний вариант — Это расчитывать в D3D и копировать на оверлейную поверхность DirectDraw. Но это не подходит, т.к. это копирование сильно загрузит проц. А копировать надо то всего-то из видео памяти в видеопамять, что могла бы сделать и видеокарта..

Кто-нить не знает решения проблемы? Как я понимаю, от оверлеев хотят отказываться, но все современные видео карты их же поддерживают!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.