기본 프레임워크
비주얼 스튜디오에서 Window 데스크톱 애플리케이션 으로 프로젝트 생성
소스파일에 99.Headers 필터 생성 후 헤더 파일 전부 이전하고 헤더 파일 필터 삭제 이유 :
cpp 헤더 파일을 한 번에 관리하는게 더 편하기 때문에 프로젝트 셋팅에서 미리 컴파일 된 헤더 ‘사용’ 후 pch 클래스 생성 해당 클래스 속성에서 미리 컴파일 된 헤더 ‘만들기’ 그리고 ‘프로젝트 이름’.cpp 파일에 pch 헤더 파일 include 해준다.
프로젝트 셋팅에서 미리 컴파일 된 헤더 ‘사용’ 후
pch 클래스 생성 해당 클래스 속성에서 미리 컴파일 된 헤더 ‘만들기’
그리고 ‘프로젝트 이름’.cpp 파일에 pch 헤더 파일 include 해준다.
99.Headers 필터에 Struct, Values, Types.h 생성
- Types.h : 시스템 소스 코드에 사용되는 데이터 유형을 정의.
Ex) using int8 = _int8;
2. Values.h : 고정적으로 사용할 값을 넣어놓는다.
3. Struct.h : 공용으로 사용할 Struct 정의 - 아직 추가 안함
pch.h 에 만든 헤더 파일 다 넣어준다.
STL 나중에 사용할거 조금 미리 넣어둔다.
Dx 가 여기저기 많이 사용되어서 마소에서 표준 키트를 추가 해놓았다.
D3D11.h를 다운로드 받지 않고 그냥 추가 가능하다.
여러 헤더 파일을 추가 시켜놓고 사용할 때가 되었을 때 설명
텍스쳐 등을 로딩 하기 위해 외부 라이브러리 선택
DirectXTex << 마소에서 만들어서 비공식적으로 지원해줌
프로젝트 셋팅 → 출력 디렉토리 를 $(SolutionDir)$Binaries\ 경로로 바꾼다.
결과물이 어떤 폴더에 완성이 될 것 인지
외부 라이브러리 사용을 위해서 라이브러리 헤더 파일을 모아놓은 include 파일 폴더 하나랑 라이브러리 파일 차제가 들어가 있는 lib 파일 경로
Binaries, Libraries, Include, Lib 폴더를 만들어준다.
이제 빌드 시 최종 결과물이 Binaries 산하에 만들어진다. 그리고 외부에서 라이브러리를 다운 받으면 Libraries 폴더 산하에 배치 시킬 것이다.
- DirectXTex 를 Git 을 통해 다운 받아서 빌드 후 추가하거나
- 헤더와 lib 파일만 제공 하는 것을 찾아서 추가하는 경우가 있다.
DirectXTex : 텍스처 리소스를 보다 편하게 관리하고 사용할 수 있는 기능을 제공한다.
lib 파일을 각각 디버그 모드와 릴리즈 모드를 추가한것이다.
이제 pch.h 에 DirectXTex 추가해준다.
include 되는 이유는 내가 추가할 헤더 인라인 파일이 모든 경로에서 없으면 위에서 추가 포함 디렉토리에서 추가할 헤더, 인라인 파일을 확인해보겠다는 뜻이다.
그리고 외부 라이브러리를 사용할 때는 선언 및 경로 알려주기에서 끝나는 것이 아니고,
라이브러리를 사용한다는 설정을 해줘야 한다.
#pragma comment 를 사용한다.
Game 클래스를 생성한 후 기본 Init(), Update(), Render() 함수를 선언한다.
Init 함수의 인수 HWND 는 WinApi의 핸들이다. DirectX11.cpp 파일에서 지역변수로 있던 hwnd 변수를 전역으로 바꾸고 게임 프레임에 맞출수있게 PeekMsg 설정을 해두었다.
이제 DX 구현 시작……
'DX' 카테고리의 다른 글
렌더링 파이프라인에서 좌표 변환에 대해서 (0) | 2024.11.02 |
---|---|
DX11 - 1 (2) | 2024.07.23 |
게임 루프의 역할과 구조 (0) | 2024.05.16 |