2010-03-03 47 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

相關問題