프로젝트 설정

ㅋㅋ·2022년 7월 13일
0

DirectX12강의

목록 보기
2/39

비주얼 스튜디오에서 윈도우 어플리케이션으로 프로젝트 생성

프로그램은 wWinMain 함수를 메인으로하여 돌아간다.

// Main message loop:
while (GetMessage(&msg, nullptr, 0, 0))
{
    if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}

프로그램이 꺼지지 않고 해당 함수를 계속하여 반복

GetMessage 함수는 블락킹 함수로 키보드나 마우스 같은 이벤트가 발생하지 않으면

해당 함수에 멈춰있음

=>

PeekMessage 함수로 이벤트 유무를 판단 후 진행하도록 수정해야 함

PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE)

msg: 받아올 이벤트 메세지 값
nullptr: 이벤트를 받을 윈도우 핸들
0,0: 이벤트 min, max 값, 0일 시 모든 이벤트
PM_REMOVE: Peek 후 큐에서 메세지를 지움

반환 값이 true 시 이벤트가 있는 것이며, false 시 이벤트가 없는 것임

공식 문서


precompiled header

미리 사용할 헤더들을 하나의 파일에서 컴파일 해두어 빌드 및 사용 시에 이점이 있음

보통 pch.h나 stdafx.h 파일로 볼 수 있음

비주얼 스튜디오에서 솔루션을 우클릭하여 Properties에 들어간 후

C++ -> Precompiled headers -> Precompiled header를 Use로 수정

Precompiled header file을 외워두고 해당 파일명으로 클래스를 생성

Precompiled header file.cpp 파일은 우클릭 하여 Properties에 들어간 후

C++ -> Precompiled headers -> Precompiled header를 Create로 수정


lpszMenuName = nullptr;

프로그램 실행 창의 메뉴바를 없애줌


게임 엔진은 별도의 프로젝트로 관리

게임 개발 시 공통적인 기능을 하나의 라이브러리로 관리하여 재사용을 용이하게 할수 있음

솔루션을 오른쪽 클릭하여 프로젝트 추가 -> Static library


d3dx12.h 헤더는 비공식적?으로 지원하기 때문에 인터넷에서 찾아서 다운 가능

git


비주얼 스튜디오 빌드를 위하여

클라이언트 프로젝트 설정에서는 엔진들의 헤더와 라이브러리 폴더를 추가

#pragma comment(lib, "Engine")

비주얼 스튜디오 링커 설정에서 라이브러리 파일을 추가하는 것이 아닌 코드 상에서 추가

0개의 댓글