2010-02-11 4 views
7

내가 윈폼에서 전환하고/XNA를 제어하기 때문에!SlimDX 뷰포트는 WPF/SlimDX에

  • A) 윈폼을 통해 WPF의 모든 혜택 (그러나 아야 = 학습 곡선)
  • B) 패널에 SlimDX 뷰포트가 여러 개 붙어 있습니다. . XNA에는 "게임"화면이 1 개 있습니다.
  • C, 마지막으로하고 이상) DirectX 10을 지원

내 이전 XNA 코드의 모든 C#으로합니다. SlimDX 및 WPF로 이식하는 방법을 알아내는 데 어려움이 있습니다. 나는 미친 듯이 수색했다. ,

1) http://www.gamedev.net/community/forums/topic.asp?topic_id=507941 많은 글이 토론을 가리 그러나 그것은 불완전하고 내가 XAML을 알아낼 수 있고, 나는 _slimDXDevice와 번째 윈도 모든 이벤트를 부착 한 후 장치 오류를 얻을 : 내가 찾은 가장 가까운 있습니다 그것들은 빠져 나갔다.

2) http://www.codeproject.com/KB/WPF/D3DImage.aspx 이 기사에서는 사용자가 C++을 이식한다고 가정합니다. XNA 코드를 MDX 코드에 매우 가깝게 포팅합니다.

파란색 상자였던 사용자 지정 SlimDX 구동 뷰포트가있는 WPF 폼이있는 지점으로 가면 거기에서 갈 수 있습니다. XNA에서는 많은 별도의 RenderTargets를 렌더링하여 화면 전체에 배치했습니다. 이제 컨트롤에 첨부하려고합니다. 하지만 우선, 1 개의 파란색 상자! : D

아이디어가 있으십니까? 나는 이것이 단순한 것, 또는 내가 잃어버린 "쿠키 커터"코드가 있다고 생각한다. 대단히 감사합니다!

+0

우리는하지만, SlimDX이을 보여주는 샘플을 가지고 , 나는 그것이 SVN 저장소에 체크 인되었다고 나는 그의 작업 카피에있는 개발자와 연락을 취할 수 없다고 나는 믿지 않는다. 이 질문은 일종의 모호합니다. 특정 장치 오류에 대한 도움을 요청합니까? 그렇다면 게시 할 수 있습니까? –

+0

나는 그것이 막연한 질문 인 것을 볼 수있다. 특정 오류에 대해 묻는 것은 아닙니다. 저는 C#을 사용하여 WPF/SlimDX에 대한 매우 단순하고 높은 수준의 솔루션을 찾고 있습니다. 어디서나 문서화되거나 예제가없는 것 같습니다. – bufferz

답변

7

샘플을 바로 볼 수 있습니다.우리의 저장소에 체크인하고, 그래서 (우리가 2010년 2월 버전을 출시 할 때까지 기다릴) 당신은 그것을 얻기 위해 SVN를 사용해야합니다 :

http://code.google.com/p/slimdx/source/detail?r=1356

+0

감사합니다. – mdm20

+0

조쉬, 고맙습니다. ViewModels에서도 잘 수행됩니다. 너희들은 좋다. 나는 WPF/SlimDX를 찾고있는 다른 사람들이 여기서 끝나기를 바랍니다. 다시 한 번 감사드립니다! – bufferz

+1

Promit이 실제로 샘플이 아닌 나에게 썼다. –

0

D3DImage는 사용하려는 클래스입니다. codeproject 튜토리얼은 C++이지만 SlimDX 및 WPF에 매우 적용 가능합니다.

SlimDX와 관련된 모든 작업은 코드를 정상적으로 실행하지만 기기 또는 스왑 체인에서 현재 (...)를 실행하지 마십시오. Present (...)를 넣을 지점에서 D3DImage.SetBackBuffer (...)를 실행하고 SlimDX 표면의 ComPointer 속성을 거기에 보냅니다. 그런 다음 D3DImage.AddDirect (...)를하면 D3D가 WPF로 합성됩니다.

또한 IDirect3DDevice9Ex를 만들어야합니다. 그렇지 않으면 성능이 XP 이외의 다른 곳에서 끔찍할 것입니다.

0

저는 최근에 D3DImage와 SlimDX로 엉망이었고 DirextX9로 작업하기가 너무 어려웠습니다. 내 집 PC에 나중에 게시 할 코드가 있지만 제공된 링크의 코드와 매우 유사합니다.

그래도 더 높은 버전의 directx로는 작동하지 못했습니다. Jeremiah는 directx9 장치를 directx 10/11/d2d와 D3DImage 사이의 링크로 사용하는 것에 대해 좋은 blog post을 가지고 있지만 Slimdx로는 작동하지 않습니다. DirectX9가 필요한 작업을 수행했기 때문에 XP에서 작업하기를 원했기 때문에 많은 노력을 기울이지 않았습니다.

+0

다른 사람들을위한 업데이트 : SlimDX에서 SlimDX의 DirectX 10 출시일에 아무런 문제가없는 샘플을 얻을 수 있습니다. –

관련 문제