Как рисовать поверх другого окна?
От: Went  
Дата: 16.01.18 13:22
Оценка:
Здравствуйте. Продолжая тему глубокого межпроцессового взаимодействия, хочу рисовать поверх одного моего окна (принадлежащего другому процессу) свою дополнительную графику.
Как это организовать? Я вижу три пути:
1. Пытаться обоим процессам как-то по очереди рисовать в общее окно. Создать какой-то примитив синхронизации, и ждать, пока рисует один, потом рисует другой. Но, вообще, может возникнуть проблема с установкой двух рендер девайсов на одно окно? Да и дабл-буфферинг будет чудить, по идее, а верхнее изображение будет мельтешить, постоянно перетираемое нижним.
2. Создать окно поверх окна и второе приложение будет рисовать чисто в него. Заманчиво, но как сделать "прозрачное" окно? Чтобы верхнее окно не перетирало полностью нижнее?
3. Второе приложение рисует в отдельную текстуру, которую передает первому, и первое просто рендерит ее в конце своего цикла отрисовки. Очень большой оверхед и интрузивность буквально везде.

Наверняка это возможно, есть же примеры, например, полупрозрачных окон в win7, или когда всякие программы и драйвера отображают свои ватермарки поверх других окон.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.