Получите прямой доступ на запись к буферу окна, но все же разрешите доступ на чтение к тому, что уже находится на экране - PullRequest
0 голосов
/ 29 июля 2009

Мне было интересно; Возможно ли получить доступ на запись в основной буфер графической карты через Windows API, но все же разрешить доступ на чтение к тому, что должно быть? Чтобы уточнить, вот что я хочу:

  1. Создание устройства DirectX в окне и скрыть это Используйте трафаретный буфер применить альфа-канал к пикселям не записано в моем коде.
  2. Приобрести полностью текущего буфера адаптера дисплея. То есть иметь указатель на буфер, в текущая битовая глубина и разрешение, которое содержит текущий экран без независимо от того, что я нарисовал на экране. я думал вместо того, чтобы скрывать мое окно, просто используйте СЛОЙНОЕ окно и каким-то образом получить буфер перед моим пиксели окна перетекли в него.
  3. Копировать буфер, полученный на шаге 2, в новую ячейку памяти
  4. Переместить основной буфер моего устройства Directx в буфер, встроенный в шаге 3
  5. Переместить буфер в шаге 4 на экран
  6. GOTO 2

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

Ответы [ 2 ]

1 голос
/ 30 июля 2009

Есть лучшие способы создать окно без границ. Например, вы можете попробовать поэкспериментировать с параметром dwStyle , равным CreateWindow . Выглядит так, как будто вы переходите в WS_OVERLAPPED | WS_POPUP, и это приводит к окну без полей, которое вы хотите. (см. это сообщение на форуме ).

Я также считаю, что термин "окно без границ" неправильный, потому что я почти не получаю результатов поиска в Google, включая эти слова.

0 голосов
/ 30 июля 2009

Есть ли причина, по которой вы бы просто не делали это нормально с GDI и не использовали оконный режим для DirectX? Зачем беспокоиться о полноэкранном режиме, когда вам нужно рендерить с окном?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...