I found this article, which shows, how to enumerate display adapters and adapter outputs using Direct3D: http://msdn.microsoft.com/en-us/library/windows/desktop/bb205075%28v=vs.85%29.aspx#Enumeration
I see from this article, that IDXGIFactory::EnumAdapters gives access to IDXGIAdapter interface, and D3D11CreateDevice can create 3D device from IDXGIAdapter. There is also IDXGIAdapter::EnumOutputs method, which gives an access to IDXGIOutput interface.
So, I can create ID3D11Device for every adapter. Is it possible, to create ID3D11Device for every adapter output? For example, if display adapter has two outputs, how can I draw separately on every monitor, connected to these outputs?
Enumerating display adapter outputs
I found this article, which shows, how to enumerate display adapters and adapter outputs using Direct3D: http://msdn.microsof...spx#Enumeration
I see from this article, that IDXGIFactory::EnumAdapters gives access to IDXGIAdapter interface, and D3D11CreateDevice can create 3D device from IDXGIAdapter. There is also IDXGIAdapter::EnumOutputs method, which gives an access to IDXGIOutput interface.
So, I can create ID3D11Device for every adapter. Is it possible, to create ID3D11Device for every adapter output? For example, if display adapter has two outputs, how can I draw separately on every monitor, connected to these outputs?
You create a swap chain for each output, you don't create a device for each output.
Use the SetFullscreenState to assign an output:
HRESULT SetFullscreenState(
[in] BOOL Fullscreen,
[in] IDXGIOutput *pTarget
);
Note that this is for full screen only.
IDirect3D9::GetAdapterIdentifier
I really recommend that you look at the SDK documentation for IDirect3D9 - it contains all of this information.
I really recommend that you look at the SDK documentation for IDirect3D9 - it contains all of this information.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement