2009-10-19 4 views
2

현재 C#/SlimDX를 사용하여 3D 게임을 개발 중입니다 (대상은 Direct3D 9 임). 한동안 적절한 게임 UI 툴킷을 찾고 있었지만 마음을 굳힐 수 없었습니다.C# SlimDX 게임 UI에 사용할 내용

게임 UI는 롤 플레잉 게임용이므로 상당히 복잡하고 많은 컨트롤 (텍스트 상자, 인벤토리 그리드, 목록 상자, 선택 상자, 스크롤 가능 영역 등)이 필요합니다.

내가 이전에 (여전히 C++/OpenGL을 사용했을 때) GameSWF을 보았고 아이디어가 매우 마음에 들었지만 현재의 게임에서는 문제가되지 않습니다.

누구나 SlimDX와 함께 사용하기 좋은 GUI 툴킷을 알고 있습니까?

둘 다 사용할 수있는 좋은 IDE가 있기 때문에 특히 WPF/Silverlight를 사용하고 싶습니다. 그러나 빠른 Google 검색은 이러한 정보를 포함하는 데 대한 정보를 공개하지 않았습니다.

답변

2

WPF (Silverlight 제외)를 사용할 수 있습니다.

SlimDX와 함께 사용하는 방법은 D3DImage입니다. 그런 다음 WPF가 SlimDX 장면 위에 WPF UI를 오버레이하는 것을 포함하여 모든 최종 컴포지션을 처리하도록합니다.

SlimDX는 기본적으로 모든 상황에서 브러시로 렌더링되며 모든 WPF 요소에서 사용할 수 있습니다. Sliverlight는 D3DImage를 지원하지 않으므로 Silverlight에서는 작동하지 않습니다.

+0

안녕하세요, FullScreen Direct3D를 사용할 수 있습니까? 그리고 이것에 대한 주요 장면에 대한 성과는 무엇입니까? – Storm

+1

글쎄, 꽤 잘 작동합니다. 성능에 문제가 있지만 중요한 것은 WPF가 합성을 처리하도록해야한다는 것입니다. 즉, WPF의 프레임 속도 대신에 vsync를 사용하는 것과 같은 방식으로 작업하고 있다는 의미입니다. 가장 큰 타격은 D3D 호출에 대해 D3D_MULTITHREADED를 사용하고 창에서 직접 작업하는 대신 작업해야한다는 것입니다. 그렇게 말하면서, 우리는 이것을 해왔고 매우 행복했습니다. WPF에서 전체 화면을 매우 쉽게 만들 수 있습니다. 안타깝게도 UI에서 WPF를 직접 사용할 수있는 유일한 방법입니다. –

+0

이러한 접근 방식이 없으면 WPF에서 공역 문제가 발생합니다. –