Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Вниз

Как рисовать прямо на экране мопитора?   Найти похожие ветки 

 
Alex.rus ©   (2007-08-23 21:29) [0]

Как рисовать прямо на экране мопитора? Не на рабочем столе
getdc(0), а обращаясь прямо к пикселам монитора. Да так
чтобы даже если на этом месте есть какое-то окно постоянно
перерисовывающееся (например игра типа Quake) чтобы оно не
перерисовывало мой рисунок? Если это вообще возможно.


 
Rouse_ ©   (2007-08-23 21:45) [1]

Возможно - ищи в статьях работу с DirectX оверлеями...


 
homm ©   (2007-08-23 21:47) [2]

> а обращаясь прямо к пикселам монитора

Монитор — аналоговое устройство, к чему ты там обращаться собрался? :)


 
Anatoly Podgoretsky ©   (2007-08-23 21:50) [3]

Фломастером


 
Вася Правильный   (2007-08-23 22:15) [4]


> Фломастером

+5
татуировку ему сделай


 
Slider007 ©   (2007-08-24 06:52) [5]

Alex.rus ©   (23.08.07 21:29)
обращаясь прямо к пикселам монитора


"Дорогие пиксели ! Можно я по вам порисую ?"


 
Novice   (2007-08-24 07:14) [6]

Супер :-)

Хотя в теории подобное сделать реально. Изобретаешь какой-нибудь управлятор для электронных пушек монитора, вставляешь его в сам монитор, подключаешь это устройство к COM/USB порту, пишешь драйвер, затем программу, работающую с этим драйвером, и все. Просто.
Такой вариант работает только для обычных (не TFT/LCD и др. типов мониторов) мониторов.


 
alshtam ©   (2007-08-24 07:40) [7]

тебе другое нужно видимо, тебе нужно создать приложение чье окно  всегда отображается поверх всех остальных


 
tesseract ©   (2007-08-24 10:37) [8]


> Хотя в теории подобное сделать реально.


Странный ты. Сейчас идёт мода на тюнеры включаемые между картой и монитором - они отлично рисуют без всяких контроллеров электронных пушек со всми мониторами.


 
homm ©   (2007-08-24 10:52) [9]

> [6] Novice   (24.08.07 07:14)
> затем программу

Тогда уж проще программно-аппаратный комплекс, наподобии плоттера, но только с фломастером :)


 
Eraser ©   (2007-08-24 10:55) [10]


> Alex.rus ©   (23.08.07 21:29) 

только написав свой видеодрайвер.


 
Anatoly Podgoretsky ©   (2007-08-24 11:35) [11]

> homm  (24.08.2007 10:52:09)  [9]

По лицензии OEM


 
@!!ex ©   (2007-08-24 11:56) [12]

> [7] alshtam ©   (24.08.07 07:40)

Сами та пробовали так делать?
1) Если есть два StayOnTop окна, то поверх будет то, которое сейчас активно.
Соответственно если у нас есть игра(а в играх часто делают StayOnTop), то наше окошко пойдет лесом.
2) Даже если окно игры окажеться не StayOnTop, то в силу специфики DX и OGL мерцать наше окошко будет жутко, и прочитать что то на нем не релаьно.

По сабжу:
Копай в сторону Оверлея.
или же перехвата рендеринг контекста OGL и DX и вывод на него, но это сложно, лично я знаю как это делать очень поверхностно.


 
homm ©   (2007-08-24 12:02) [13]

> или же перехвата рендеринг контекста OGL и DX и вывод на
> него, но это сложно

Видимо не настолько слжно, раз тулза fraps размером в 100кб умудряеться это делать, еще и скриншоты снимает и видео.


 
homm ©   (2007-08-24 12:03) [14]

Кстати, она и не оверлее фпс выводит :)


 
@!!ex ©   (2007-08-24 12:10) [15]

> [13] homm ©   (24.08.07 12:02)

Сложно - не значит много весит. :))
Тем более что 100кб - не маленький файлик.


 
alshtam ©   (2007-08-24 13:23) [16]

честно нет, и как сделать не знаю, но формулировка вопроса автора покоробила


 
Sapersky   (2007-08-24 15:08) [17]

Видимо не настолько слжно, раз тулза fraps размером в 100кб умудряеться это делать, еще и скриншоты снимает и видео.

Нужно писать под каждую версию DX отдельно, ну и OGL.
Плюс отладка любого внедрения/перехвата - удовольствие более чем сомнительное. Особенно на реальных играх, которые часто весьма нервно относятся к попытке влезть в их механизм рендеринга. Отдельная песня - обработка Alt-Tab, в общем, нюансов предостаточно.
Относительно размера в 100 кб - кроме основной программы где-то (Windows/System?) должна быть ещё и dll, иначе как делать внедрение?

Что касается использования оверлея для вывода поверх игры. Когда DX-игра запрашивает полноэкранный (эксклюзивный) режим, данные всех прочих DX-приложений выбрасываются из видеопамяти. Единственный вариант, при котором я наблюдал "живой" оверлей - разрешение совпадает с разрешением рабочего стола и версия DX тестовой программы <> 7, видимо, драйвер при этом не использует эксклюзивный режим.


 
Eraser ©   (2007-08-24 17:08) [18]

одно не понятно, с чего вы решили, что оверлей будет прорисовываться поверх всего? там принцип немного другой.


 
@!!ex ©   (2007-08-24 17:17) [19]

> [18] Eraser ©   (24.08.07 17:08)

И перехват Контекста не будет рисоваться поверх.
Просто нужно ловить конец ерерисовки окна и в этот момент выводить инфу.
И тогда и Overlay будет поверх и при перехвате контекста будет поверх.


 
Eraser ©   (2007-08-24 17:24) [20]


> @!!ex ©   (24.08.07 17:17) [19]

эээ.. так игры не через оверлей прорисовываются.. достаточно surface который прорисовывается получить. это возможно, но я бы не рекомендовал, т.к. будет заметно тормозить да и, как правильно заметили, для каждной версии dx реализацию писАть надо..
проще и надежнее это либо getdc(0), либо [10].


 
Sapersky   (2007-08-24 18:04) [21]

с чего вы решили, что оверлей будет прорисовываться поверх всего? там принцип немного другой.

Да вроде именно такой. Т.е. оверлей будет рисоваться поверх всех оконных приложении, независимо от порядка отрисовки, но, как я писал в [17], при переключении в полноэкранный режим с большой вероятностью убьётся.
Можно использовать оверлей в сочетании с перехватом, т.е. создавать его на базе DX-интерфейсов игры, но только для DX <= 7.

достаточно surface который прорисовывается получить. это возможно, но я бы не рекомендовал, т.к. будет заметно тормозить

Если цель - рисовать поверх игры, то скорее device (для D3D). surface (бэкбуфер, primary) - разве что для DX <= 7.


 
brother ©   (2007-08-27 05:06) [22]


> Как рисовать прямо на экране мопитора? Не на рабочем столеgetdc(0),
>  а обращаясь прямо к пикселам монитора.

автор жжет, не удержусь от коммента!!!
после таких вопросов и жизнь веселее!
а че нам монитор? Давайте и на колонках и на системнике и везде, где только можно (но только напрямую)!!!
Тут уже столько ответов, а автор где?
Интересна его реализация хоть бы одного предложения!
ИТОГО: В дет сад или в орешник!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.049 c
9-1159992883
К8
2006-10-05 00:14
2007.09.16
GUI


15-1187269943
Ega23
2007-08-16 17:12
2007.09.16
О корректном разрыве соединения с сервером БД


4-1174730784
Torero
2007-03-24 13:06
2007.09.16
Поиск нужной иконки в трее (TrayBar)


2-1188065215
hprx
2007-08-25 22:06
2007.09.16
Работа с графикой.


11-1167401313
Max727
2006-12-29 17:08
2007.09.16
Вопросы новичка, ответов на которые он не нашел





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский