c# slimdx离屏渲染,输出到多个窗口/显示器

发布于 2024-09-16 08:05:30 字数 656 浏览 7 评论 0原文

好的,我重写这篇文章是因为我有一个非常具体的问题,但我认为解释我想要做什么可能更有用:)

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文