Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: драйвер видео  (Прочитано 6558 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Василий
Гость
« : 03-03-2004 18:28 » 

Нужно написать драйвер показывающий заданую область экрана. Если в этой области есть видео или что-нибудь друго динамичное, оно отображалось в окне программы использующей этот драйвер. Подскажите счего начать.
Записан
Casander
Гость
« Ответ #1 : 22-04-2004 22:38 » 

Что называется хочу всё сразу.

Если по проще - то можно попробовать перехватывать WinAPI ф-ю BitBlt (или её клоны).
Но видео стараются ускорять и для этого вывод стараются делать ч/з оверлей, а обработку ч/з DirectX в таком случае возможно драйвер не нужен. Нужен будет фильтр, который нужно будет неким хитрым образом вклеить в вывод.
Если просто смотреть на интенсивность использования зкранного массива, то в зоне вывода занятой оверлейем это будет обычно 16,0,16 (RGB) а на эране - видео.
Как работает представляю, но ничего подобного никогда не делал.
Есть некое описание о том как работает Windows гафическая система в книге Программирование графики для Windows   - Фень-Юань (автор) изд Питер
О том как делать перехват на уровне пользователя - в книге Рихтера.
Если напишешь ответ уведоми на casandr-div@mail.ru (удали "-div").
Записан
Anonymous
Гость
« Ответ #2 : 24-04-2004 14:01 » 

direct way to the direct draw DDI =)
yah
Записан
grozny
Гость
« Ответ #3 : 26-04-2004 06:47 » 

битблитом делается не так уж и много. Поэтому перехват битблита на уровне Win32 почти ничего не даст (разве что окошки на десктопе - ну мож его и хватит).

А все видео оверлеи, 3Д в OpenGL, Direct3D - пролетает мимо блита.

Цитата

драйвер показывающий заданую область экрана

не очень понятно. Вроде б такой драйвер уже есть - от производителя граф. процессора - и он уже, видимо, тебе показывает эту самую область экрана. Надо данный кусок экрана в другом окошке показать, что ли? Увеличить? Уменьшить?
Записан
Василий
Гость
« Ответ #4 : 26-04-2004 08:00 » new

Цитата: grozny
Надо данный кусок экрана в другом окошке показать, что ли? Увеличить? Уменьшить?


Да с куском экрана просто для мея достаточно GetDC(NULL) и поехали. Проблема была чтобы этот экран могла показывать программа использующая в качестве источник а драйвер VFW. Вот в этом была проблема. Но я нашел  пример драйвера, который может это сделать. Примеры из старого winNt ddk.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines