gpt4 book ai didi

c++ - 多显示器 3D 应用程序

转载 作者:可可西里 更新时间:2023-11-01 17:55:27 27 4
gpt4 key购买 nike

我遇到了一个 C++ 3D 应用程序项目的挑战,该项目将使用 3 个显示器,每个显示器都来自不同的相机。

最近了解了Ogre3D,但不清楚它是否支持不同相机输出到不同显示器/GPU。

有没有人有类似设置和 Ogre 或其他引擎的经验?

最佳答案

至少在大多数系统(例如 Windows、MacOS)上,窗口系统会创建一个虚拟桌面,不同的显示器映射到桌面的不同部分。如果您愿意,您可以(例如)创建一个覆盖所有三个显示器的大窗口。如果您将该窗口设置为使用 OpenGL,几乎任何使用 OpenGL 的东西(几乎可以肯定包括 Ogre3D)都可以正常工作,尽管在某些情况下产生那么多的输出分辨率可能会使显卡负担过重,以至于它比平时慢一点.

如果你想在每个显示器上处理一个单独的窗口,事情可能会有点复杂。 OpenGL 本身并不(甚至试图)定义如何处理多个窗口中的显示——这取决于一组特定于平台的函数。例如,在 Windows 上,每个窗口都有一个渲染上下文,并且必须使用 WGLMakeCurrent 来选择在任何给定时间绘制到哪个渲染上下文。

如果没记错的话,Ogre3D 的 Windows 端口支持多个渲染上下文,所以这也应该不是问题。我希望它也可以在其他系统上使用多个窗口,但我没有在任何其他系统上使用过它,所以我不能肯定地说。

不过,我的直接猜测是,三重监视器支持在您的整体开发工作中几乎无关紧要。当然,这确实意味着您(可以告诉您的老板)需要三重显示器设置来进行开发和测试,这当然不是一件坏事! :-)

编辑:OpenGL 本身没有指定任何有关全屏窗口与普通窗口的信息。如果没记错的话,至少在 Windows 上要获得全屏应用程序,您可以使用 ChangeDisplaySettingsCDS_FULLSCREEEN。之后,它基本上将整个虚拟桌面视为一个窗口。不过,我不记得在多台显示器上做过这件事,所以我不能说太多。

关于c++ - 多显示器 3D 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023699/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com