2010-03-03 44 views
3

我正在研究一个C#应用程序,它需要在Windows窗体中的控件中使用Direct3D, 和(同时)在辅助监视器上全屏显示。C#:Direct3D在控件中,而全屏在辅助监视器上 - 最好的方法是什么?

基本上,我想要一个带有用户界面控制图形的屏幕上的Windows Forms应用程序,并且我希望在一个小控件中显示预览图形,并且在全屏幕上显示全屏超级图形超大屏幕图形监控。

解决这个问题的最好方法是什么?

(例如,我知道XNA可以呈现在Windows窗体控件,但是它可能然后另一台显示器上添加全屏窗口呢?)

回答

0

你不能有真正的全屏像(据我所知),但你可以制作一个无边框的窗口,然后你可以制作与屏幕本身一样大的窗口。它看起来好像是全屏,但你仍然会受到窗口模式性能的影响。 (他们是可以接受的)

1

AFAIK唯一的方法是创建2个完整的Direct3DDevices。您在监视器2上创建一个全屏,然后将另一个创建为普通的窗口设备。这应该做你想做的。但是请注意,您将无法在两台设备之间共享资源〜(每台设备需要创建它们),并且性能会比在一台设备上拥有2个全屏交换链更差。

1

我知道你说的Windows窗体,但我仍然会建议你使用WPF。优点是您可以在两个窗口中使用相同的技术。

WPF是传统Windows窗体非常好的替代品。它还刺激你设计更好的解决方案,更好地分离模型和视图。

另一方面,WPF都是在directx之上渲染的。它为您提供了一个很好的3D引擎,你可以很容易地实现所有种类的东西,对于一些例子,采取以下链接看看:

http://www.codegod.de/webappcodegod/render-3ds-3d-models-with-wpf-and-xaml-AID433.aspx

http://www.wpftutorial.net/IntroductionTo3D.html

相关问题