안녕하세요. 알콜코더 민군입니다. ^^ DX11 튜터리얼 2번째 연재를 시작하겠습니다.
저번시간에는 3D 디바이스를 초기화하는 전체 과정에 대해서 살펴보았습니다. 3D 디바이스를 초기화 한다는 말은 곧 3D 화면을 생성하고 오브젝트를 렌더링하기 위한 준비단계를 의미합니다. 이 과정을 거쳐서야 비로서 애플리케이션의 윈도우에 3D 렌더링을 위한 화면이 준비되고, 거기에 오브젝트들을 렌더링하고 움직이면서 게임이나 3D 그래픽스 프로그래밍이 시작되는 것입니다.
이번 시간에는 지난 시간에 알아본 내용들을 실제로 코드로 어떻게 구현하는지에 대해서 이야기 해보겠습니다. 전체 예제 코드는 DirectX SDK에 포함되어있는 Tutorial을 보시면 됩니다. ^^
우선은 튜터리얼의 코드를 수정하지 않고 있는 그대로 설명을 하겠습니다. 튜터리얼은 간단히 내용만 구현하기 위해서 코드가 지저분한 부분도 있고, 필요없는 부분도 있습니다 수정을 해서 좀더 깔끔하게 만들 수도 있습니다만 우선은 기본 이해를 위해서 튜터리얼 1번 예제 코드를 수정없이 그대로 분석하면서 연재를 진행하겠습니다. (제가 수정해서 헷갈릴수도 있으니까요.. 예제 코드와 다르잖아!! 이런걸 방지하기 위해 ㅡ.ㅡ;)
그리고 이해를 돕기위해 튜터리얼 코드에 한글 주석을 달아서 첨부파일로 첨부하였습니다. 참조하시기 바랍니다.
DX11에서 3D디바이스와 SwapChain은 동시에 생성됩니다. "D3D11CreateDeviceAndSwapChain" 함수를 이용해서 두개의 디바이스 객체를 한번에 생성하게 됩니다. 생성하는 방법은 DX의 객체의 생성법이 다 그렇듯이, 생성을 위한 인자들과 생성 정보를 담고 있는 구조체를 인자로 넘겨주면 생성이 됩니다. 이제는 예제 코드의 순서에 따라서 생성하기 위한 정보들이 어떤것들이 있고, 어떻게 설정하는지 Step by Step으로 설명하겠습니다. (다시 말씀드리지만 이 연재는 초보자용으로 쓰고 있는 입문 연재입니다.^^)
위 객체들이 어떤 역할을 하는지는 타입명만 보면 대충 감이 잡히실겁니다. 초기화의 목적은 아래 세개의 객체 디바이스, 디바이스컨텍스트, SwapChin을 생성하고 초기화하는 것입니다. 생성 방법은 아래 내용에서 알아보겠습니다.
2. CreateDeviceFlag의 설정
3. 3D 드라이버 타입의 설정 4. Feature Level의 설정
5. DXGI_SWAP_CHAIN_DESC 구조체 설정
6. 3D 디바이스와 스왑체인의 생성
다음 내용으로 이어집니다. ^^;; 이 연재에는 예제 코드가 첨부 파일로 포함되어 있습니다. |
||
언젠가 우즈벡에 미소녀 게임 회사를 차리고 싶은 개발자 3D게임 클라이언트 프로그래머, 살짝 오타쿠… 드래곤볼 온라인 개발, 현재는 네오위즈 서식중 '신입게임 개발자의 서울상경기'와 '초중급 게임개발자 스터디' 운영중 |
'DirectX 11' 카테고리의 다른 글
[알콜코더의 미리 배워보는 DX11 – 입문편] DX11에서 무엇이 추가되었나? (4) | 2010.10.07 |
---|---|
[JumpToDX11-16] DirectX9 세대의 테셀레이션( D3DXTessellateNPatches편 ) (0) | 2010.10.07 |
[알콜코더의 미리 배워보는 DirectX11-입문편] 1.튜터리얼 01 : 다이렉트 3D 기초 #1 (11) | 2010.09.08 |
[알콜코더의 미리 배워보는 DirectX 11 - 입문편] 0. 누구를 위한 연재인가 (15) | 2010.08.31 |
[JumpToDX11-15] DirectX9 세대의 테셀레이션( IDirect3DDevice9::DrawXXXPatch편 ) (0) | 2010.08.26 |