일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Dijkstra
- 이진탐색
- Stored Procedure
- Brute Force
- 다익스트라
- binary search
- SQL
- two pointer
- Trie
- Hash
- 그래프
- Two Points
- String
- MYSQL
- DP
- 스토어드 프로시저
- union find
Archives
- Today
- Total
codingfarm
1. DirectX12 초기화 - 장치 초기화 본문
장치 초기화 : GPU에게 명령을 넘기기 위한 사전 작업
오늘은 방대한 양의 API가 나올건데 한번에 다 익히려 하지 말것
우선 이전시간까지 비어있던 Engine 프로젝트에 Engine 폴더에 아래와같은 클래스 파일들을 추가해준다.
각 기능들을 파일 단위로 분리하는것이 플젝의 관리에 용이하다
이제 EnginePch에 출력 윈도우 창의 핸들과 너비, 높이 및 전체창 여부를 저장하는 값들을 추가해준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
// EnginePch.h
// 이전 내용들...
//-----------------------
enum
{
SWAP_CHAIN_BUFFER_COUNT = 2
};
struct WindowInfo
{
HWND hwnd; // 출력 윈도우
int32 width; // 너비
int32 height; // 높이
bool windowed; // 창모드 or 전체화면
};
/*
class Engine;
extern unique_ptr<Engine> GEngine;
*/
extern unique_ptr<class Engine> GEngine; // GEngine이 존재함을 알려주는 역할
// EnginePch.cpp에 존재하므로 extern 확장자 사용
// Engine의 존재를 모르므로 class 키워드를 통해 전방선언
void HelloEngine();
|
cs |
25번째 줄에서 스마트 포인터의 type에 "class Engine" 키워드를 적음으로써 EnginePch에게 Engine에 대한 전방선언 없이 GEngine을 만든것을 볼 수 있다.
저런방법이 싫다면 아래처럼 적어도 된다.
class Engine;
extern unique_ptr<Engine> GEngine;
Comments