1:1 음성대화 기능을 구현을 위해서 검색하다가 발견했습니다.
깔끔하게 정리가 잘 되어 있네요.
저 같은 경우는 DriectPlay만 사용하면 되겠네요. ^^
아래 링크에서 Direct X SDK를 다운로드 하실 수 있습니다.
----------------------------------------------------------------------------
▶ 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 문서를 참조하시면 되겠습니다.
'Program > C#' 카테고리의 다른 글
C#에서 Win32 API 사용하기 (0) | 2010.03.19 |
---|---|
C#기준, 닷넷에서 ini파일 입/출력 (0) | 2010.03.19 |
RichTextBox 한글 깨짐현상 (0) | 2010.03.19 |
[STAThreadAttribute] 단일 스레드 아파트 모드 설정. (0) | 2010.03.19 |
C# WebBrowser 컨트롤의 로딩완료(DocumentCompleted) 알아내기 (0) | 2010.03.19 |