2010-03-03 3 views
3

나는 윈도우 폼의 컨트롤에서 Direct3D를 사용해야하는 C# 응용 프로그램을 만들고 있는데, 보조 모니터에서는 과 (동시에) 전체 화면이 전체 화면으로 표시됩니다.C# : 컨트롤의 Direct3D 및 보조 모니터의 전체 화면 - 가장 좋은 방법은 무엇입니까?

기본적으로 그래픽을 제어 할 수있는 사용자 인터페이스가있는 하나의 화면에 응용 프로그램이 있고 싶습니다. 작은 컨트롤에 미리보기 그래픽을 표시하고 보조 그래픽에 풀 스크린 supergper megafancy 그래픽 전체 화면을 표시하고 싶습니다. 감시 장치.

어떻게 접근하면 좋을까요?

(예를 들어, I가 Windows Forms 컨트롤에 XNA 렌더링 할 수 있습니다 알고 있지만, 가능한 다음뿐만 아니라 다른 모니터에 전체 화면 창을 추가하는 것입니다?) 당신은 (같은 사실 전체 화면을 가질 수 없습니다

답변

0

내가 아는 한), 화면 경계만큼 큰 창을 만들 수 있습니다. 마치 전체 화면처럼 보이지만 윈도우 모드 성능 저하가 계속 발생합니다. (허용됨)

1

AFAIK 이렇게하는 유일한 방법은 2 개의 완전한 Direct3DDevices를 만드는 것입니다. 하나는 모니터 2에서 전체 화면으로 만든 다음 다른 하나는 일반 창 장치로 만듭니다. 이것은 당신이 원하는 것을해야합니다. 하지만 두 디바이스간에 자원을 공유 할 수는 없다는 경고를받습니다. 각 디바이스마다 전체 화면 스왑 체인을 두 개 가지는 것보다 성능이 떨어집니다.

1

당신이 Windows Forms라고 말했지만 WPF를 사용할 것을 제안합니다. 이점은 두 창 모두에 동일한 기술을 사용할 수 있다는 것입니다.

WPF는 전통적인 Windows 양식을 대체하는 매우 훌륭한 대체품입니다. 또한 모델과 뷰를보다 잘 분리하여 더 나은 솔루션을 설계하도록 자극합니다.

반면에 WPF는 모두 directx 위에 렌더링됩니다.

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

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

: 그것은 당신이 쉽게 사물의 모든 종류를 구현하는 몇 가지 예를 들어, 다음 링크에서 살펴 수있는 좋은 3D 엔진을 제공합니다