Я хочу визуализировать сцену и отобразить ее на мониторе, а другую — на текстуру.
Нужно ли создавать два свопчейна? Как мне создать второй swapchain в этом случае? Я пытался вызвать CreateSwapChainForCoreWindow, но получил исключения доступа к памяти.
Swapchains действительно просто для показа вещей.
Чтобы выполнить рендеринг, необходимо добавить целевое представление рендеринга на устройство с помощью вызова OMSetRenderTargets (). Вы можете создать целевые представления рендеринга с помощью CreateRenderTargetView (), который принимает ресурс в качестве входных данных. Текстуры — это тоже ресурсы … вам просто нужно создать их с флагом D3D11_BIND_RENDER_TARGET.
Это всего лишь несколько подсказок, которые должны быть в состоянии указать вам правильное направление.
Кстати, у свопчейнов есть буферы, которые являются ресурсами, которые также используются для создания целевого представления рендеринга. Вот как вы рендеритесь в свопчейн; это на самом деле не имеет ничего общего с «свопчейнами».
Других решений пока нет …