반응형

1:1 음성대화 기능을 구현을 위해서 검색하다가 발견했습니다.

깔끔하게 정리가 잘 되어 있네요.

저 같은 경우는 DriectPlay만 사용하면 되겠네요. ^^

아래 링크에서 Direct X SDK를 다운로드 하실 수 있습니다.

 

다운로드 : http://www.microsoft.com/downloads/details.aspx?FamilyID=08c586cd-ca80-4391-82af-5c4125dedb7f&DisplayLang=en


 

----------------------------------------------------------------------------

 

 

원문 : http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10115&eid=VnHbfGFZuJA/Ymvjr6uhVPpr4b6FhJY2&qb=QyMgRGlyZWN0UGxheQ==&pid=fh3I2soi5U4sssbZKR0sss--239596&sid=SY36z-KhjUkAAGX8ydM

 

 

 

▶ C# 에서 DirectX 이 의미하는 것은?


C#, Visual Basic.NET, C++ managed Extensions, JScript .NET 과 같은 .NET 기반의 언어를 통해서 Managed DirectX 를 이용하여 멋진 그래픽 기반의 프로그램을 만들 수 있습니다.


즉, .NET 프레임워크를 기반으로 하는 DirectX 라고 보시면 됩니다. 그래서 용어를 Managed DirectX 라고 합니다. 원래 .NET 프레임워크를 바탕으로 작성된 코드를 관리되는 (managed) 코드라고 하듯, DirectX 도 그렇게 불립니다.


현재는 Managed DirectX 코드 예제는 DirectX August 2007 SDK 버전까지만 지원됩니다. 그 이후로 나오는 DirectX November 2007 SDK 이나 DirectX March 2008 SDK에서는 더 이상 Managed DirectX 코드 예제나 문서를 찾아볼 수 없다는 것입니다.


저의 짧은 생각으로는, 마이크로소프트가 XNA Framework 를 적극 지원하려고 MDX (Managed DirectX) 를 소홀히 하는 것은 아닌가 하는 생각도 들구요.


아쉬운 대로, 최신(?) 버전의 DirectX SDK 인 DirectX August 2007 SDK 를 설치한다고 가정하겠습니다.


▶ C# 에서 Managed DirectX 를 사용하는 것은?


C# 은 .NET 프레임워크를 지원하는 언어이므로, 모든 작업은 간단하게 진행됩니다.


기존의 unmanaged (.NET 프레임워크에서 관리하지 않고 플랫폼(Win32 등) 에서 제공하는 API 등으로 만들어진 것을 managed 와 대조하여 부릅니다) 언어인 VC++ 프로젝트로 DirectX 라이브러리를 설정하고 링크하는 것에 비해 매우 간단해 졌다고 볼 수 있습니다.


[그림 1]을 보면 usingMDX 라는 이름의 프로젝트를 Windows 응용 프로그램 형식으로 생성했습니다. 여기서 사용한 개발툴은 Microsoft Visual Studio 2005입니다.


[그림 1] Visual C#에서 Windows 응용 프로그램 프로젝트 usingMDX 생성하기


화면 왼쪽에 배치되어 있는 솔루션 탐색기를 살펴보면 참조가 있습니다.


[그림 2] 를 보겠습니다.


[그림 2] 솔루션 탐색기


참조에 마우스 오른쪽 버튼을 눌러 나오는 메뉴의 참조 추가를 선택하면 [그림 3] 과 같은 창이 뜹니다.


[그림 3] 참조 추가 윈도우


여기에 .NET 탭의 Managed DirectX 참조 라이브러리를 추가시켜주면, 프로젝트에서 간단하게 MDX 를 사용할 수 있게 됩니다.


기존의 VC++ 에 비하면 매우 간단해졌다고 볼 수 있다.


기본적으로 [그림 4]처럼 3개의 라이브러리를 추가하면 되겠습니다.

 


[그림 4] Managed DirectX 를 프로젝트에 추가하는데 필요한 대표적인 라이브러리


확인 버튼을 누르고 다시 솔루션 탐색기 참조를 살펴보면 [그림 5]처럼 변경되었음을 알 수 있습니다.


[그림 5] 추가된 라이브러리


추가된 라이브러리의 구성요소는 해당 개체를 더블클릭하여 개체 라이브러리에서 살펴볼 수 있습니다.


이제 소스 코드에 이 라이브러리의 네임스페이스를 적어두면 편리하게 사용할 수 있습니다.


using Microsoft.DirectX;

using Microsoft.DirectX.Direct3D;


▶ Managed DirectX 의 네임스페이스는 무엇을 나타내나요?


[표 1]을 보시면 각 네임스페이스의 개요를 나타냈습니다.


자세한 사항은 DirectX SDK 문서를 참조하시면 되겠습니다.


[표 1] Managed DirectX 의 네임스페이스 개요

Microsoft.DirectX

부모 네임스페이스로서, 모든 공통된 코드를 포함한다.

Microsoft.DirectX.Direct3D

Direct3D 그래픽 API 와 D3DX 도우미 라이브러리

Microsoft.DirectX.DirectDraw

DirectDraw 그래픽 API

Microsoft.DirectX.DirectPlay

DirectPlay 네트워킹 API => DirectX SDK March 2008 보면 이제 지원안한다고 함

Microsoft.DirectX.DirectSound

DirectSound 오디오 API.

Microsoft.DirectX.DirectInput

DirectInput 사용자 입력 API.

Microsoft.DirectX.AudioVideoPlayback

간단한 오디오와 비디오 플레이백 API

Microsoft.DirectX.Diagnostics

간단한 진단용 API


▶ 이제 코딩은 어떻게 하나요?


VC++ 로 코딩을 해 본적이 있다면, 유사하게 할 수 있답니다.


자세한 사항은 DirectX SDK 문서를 참조하시면 되겠습니다.

반응형

+ Recent posts