본문 바로가기

DX

DX11 삼각형 띄우기 - 1

기본 프레임워크

 

비주얼 스튜디오에서 Window 데스크톱 애플리케이션 으로 프로젝트 생성

 

소스파일에 99.Headers 필터 생성 후 헤더 파일 전부 이전하고 헤더 파일 필터 삭제 이유 :

cpp 헤더 파일을 한 번에 관리하는게 더 편하기 때문에 프로젝트 셋팅에서 미리 컴파일 된 헤더 ‘사용’ 후 pch 클래스 생성 해당 클래스 속성에서 미리 컴파일 된 헤더 ‘만들기’ 그리고 ‘프로젝트 이름’.cpp 파일에 pch 헤더 파일 include 해준다.

 

프로젝트 셋팅에서 미리 컴파일 된 헤더 ‘사용’ 후

pch 클래스 생성 해당 클래스 속성에서 미리 컴파일 된 헤더 ‘만들기’

그리고 ‘프로젝트 이름’.cpp 파일에 pch 헤더 파일 include 해준다.

 

 

 

 

 

 

99.Headers 필터에 Struct, Values, Types.h 생성

  1. 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 폴더 산하에 배치 시킬 것이다.

  1. DirectXTex 를 Git 을 통해 다운 받아서 빌드 후 추가하거나
  2. 헤더와 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