Game Programming/Rendering

DX 9 :: 기본 윈도우 생성

VallistA2016. 2. 12. 17:32

DX 관련 글


기본 윈도우 생성 : 클릭

윈도우 생성 : 클릭

리얼타임 메시지 루프 : 클릭

Direct3D 시작 : 클릭




API와 관련된 글이지만, 기본적으로 DX를 셋팅하기 전 윈도우를 제작을 해야 그 위에 렌더러를 올릴 수 있기 때문에 여기에 올리는 것이 좋을것 같다고 판단되어 여기에 올린다. 이 글에서는 C++ 11 Feature를 사용을 하므로 모르는 문법의 경우 C++ 11 Feature을 검색해서 찾아보는 것도 한 방법일 듯..




0. 설치

 

 0-1) SDK


 DX를 사용하기 전에 앞서 설치를해야한다.


 https://www.microsoft.com/en-us/download/details.aspx?id=6812

 이 사이트로 가서 DX를 설치하도록 하자.


 0-2) Tool


 필자는 Visual Studio 2015 Community version이다.


 https://www.visualstudio.com/ko-kr/products/visual-studio-community-vs.aspx

 무료니까 이것을 쓰도록 하자.

 


1. 설정


 DX를 기본적으로 활용하기 위해서는 환경설정이 필요하다. 그 설정에 대해서 적어보도록 하겠다.

 

 1-1) Include 파일과 lib 파일

 

 dx 파일에는 수많은 Library 들이 있는데 그 것들을 사용하기 위해서는 h 파일과 cpp 파일, dll등을 가져와서

 현재 프로젝트가 소스들을 읽어들일 수 있어야 한다. 그러기 위해서는 기본적으로 파일들을 등록을 해줘야 하는데

 하나하나씩 등록하는건 어렵다보니, Visual Studio에서는 한개씩 할수도있고 폴더 째로 할수도 있게 만들어놓았다.

 

 우리는 폴더를 등록하는 방법으로 할 것이다.

 방법은 아래와 같다.


 1-2) 파일 이동


 dx 를 설치한 폴더로 가서, Include와 Lib 를 통째로 자신의 프로젝트 로 이동하도록 한다.

 




 Library 안에 include와 lib를 들고왔다.


 1-3) 경로 설정


 


 

 프로젝트를 생성 한 후, (Empty Project) 오른쪽 클릭을 하여 맨 아래 Properties 를 누르도록 하자.


 그 다음 아래 사진과 같게 해준다.

 


 C/C++ 의 Additional Include Directories



 Linker의 Additional Library Directories



 마지막은 Linker -> inpue의 Additional Dependencies인데, 추가해줄 것은 아래와 같다.

 

 d3d9.lib

 d3dx9.lib

 winmm.lib


 3개를 추가해주면 되겠다.



2. 메시지 박스로 Hello World 띄우기


Source Code


1
2
3
4
5
6
7
8
9
#include <Windows.h>
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    //Hello World 메시지 박스를 생성합니다.
    MessageBox(nullptr, "Hello World", "메시지 박스 프로그램", MB_ICONEXCLAMATION | MB_OK);
 
    return 0;
}


메인 함수를 저렇게 하는 이유에 대해서는 아래 참조


링크


기본적인 윈도우에서 팝업을 띄우는 예제이다.


'Game Programming > Rendering' 카테고리의 다른 글

DX 9 :: 전체화면  (0) 2016.02.19
DX 9 :: Direct3D 시작  (0) 2016.02.17
DX 9 :: 리얼타임 메시지 루프  (0) 2016.02.16
DX 9 :: 윈도우 생성  (1) 2016.02.16
Direct 11 :: 'main' entry point not found  (0) 2015.03.30

댓글

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.
현재는 이 블로그를 운영하지 않습니다.
vallista.kr 로 와주시면 감사하겠습니다!

자고 싶습니다. ㅠㅠ

Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today :

Total :

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘

Lately Post

Lately Comment