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 :
Lately Post
Lately Comment