c# slimdx离屏渲染,输出到多个窗口/显示器
好的,我重写这篇文章是因为我有一个非常具体的问题,但我认为解释我想要做什么可能更有用:)
我正在使用 SlimDX 在 WPF 中工作。 目标是一个初始化 Direct3D 设备的程序,并且能够将很酷的 D3D11 gfx 渲染到离屏渲染目标。
用户可以添加输出窗口,输出窗口可以在任何连接的显示器上全屏显示,也可以只是一个窗口。 输出窗口仅显示离屏后备缓冲区的部分。 所以 - 我有一个非常高分辨率的离屏纹理/后缓冲区,并且我想要零到 N 个输出窗口,基本上渲染一个全屏四边形,并使用 uv 坐标指定该高分辨率纹理中的区域。
我的问题是:
在没有任何输出窗口/交换链的情况下,SlimDX 中初始化主应用程序中的 Direct3D 设备的“正确”方法是什么?
一旦我拥有“全局”Direct3D 11 设备,如何设置离屏渲染目标纹理以渲染很酷的内容?
一旦我有了一个在其中渲染了很酷的东西的离屏渲染目标,我如何设置一个系统,以便我可以添加/删除显示此渲染目标的部分的窗口? (对于每个动态创建/删除的窗口,添加/删除交换链的一部分?)
我知道这些问题非常具体,大多数人不想在后台渲染内容以显示在不同的设备上,但是嘿 - 这就是stackoverflow 的用途是什么:)
Okay, I'm rewriting this post because I had a really specific question but I think it might be more useful to just explain what I want to do :)
I'm working in WPF with SlimDX.
The target is a program that initializes a Direct3D device, and is able to render cool D3D11 gfx to an offscreen rendertarget.
Users can add output-windows, and output-windows can either be full-screen on any connected monitor, or just a window.
An output window just shows a part of the offscreen-backbuffer.
So - I have a very highres offscreen texture / backbuffer, and I want zero to N output windows basicly rendering a fullscreen quad with uv-coords specifying an area in that highres texture.
My questions are :
What is the 'correct' way in SlimDX to initialize a Direct3D device in the main application, without any output-window / swapchain yet ?
Once I have a 'global' Direct3D 11 device, how do I set up an offscreen rendertarget texture where I can render cool stuff to ?
once I have an offscreen rendertarget with cool stuff rendered in it, how do I set up a system so I can add / remove windows that show parts of this rendertarget ?
(For each dynamicly created / removed window, add / remove part of the swapchain?)
I know these problems are quite specific and most people don't ever want to render stuff in the background to be displayed on different devices, but hey - that's what stackoverflow is for :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论