DirectX 11 рендерит в определенную область - PullRequest
0 голосов
/ 13 ноября 2018

Мне просто интересно, позволяет ли DirectX 11 устанавливать область рендеринга вместо рендеринга всего окна. Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Наконец-то все получилось, так что для рендеринга в определенную область прямоугольника вашего главного окна приложения.Сначала вам нужно создать второй childhWnd, чтобы позволить DirectX визуализировать, а затем присоединить этот childhWnd к вашему основному hWnd, используя setParent (), чтобы отобразить всего одно окно.

0 голосов
/ 14 ноября 2018

Да, используйте ID3D11DeviceContext::RSSetViewports и структуру D3D11_VIEWPORT.Установка элементов TopLeftX, TopLeftY, Width и Height в части размеров окна приведет к тому, что цель рендеринга будет втянута в этот раздел заднего буфера.

Стоит отметитьчто это не помешает DXGI очистить все окно приложения, если вы создадите цепочку подкачки для дескриптора главного окна вашего приложения.Если вам нужно смешать элементы управления Win32 и содержимое Direct3D, создайте дочернее окно специально для содержимого Direct3D, создайте цепочку подкачки для этого окна и добавьте дочернее окно в главное окно приложения.

...