일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 게임엔진튜토리얼
- leveleditor
- directx
- livrary
- 각도변환
- 수학용어정리
- 프로그래밍일기
- 월드아웃라이너
- c++
- c++class
- c++porinter
- 25.06.11dir
- 자료구조정리
- 언리얼ai
- 언리얼비헤이어비어트리
- 게임개발
- uaiperception
- 언리얼엔진공부
- bttask
- ipc(inter process communication)
- 자료구조
- c++용어정리
- c언어정리
- 언리얼엔진5
- 언리얼엔진
- 영단어정리
- unrealengineai
- DX
- 자료형타입
- 프로그래밍
- Today
- Total
루리코딩 세상
DirectX 윈도우 창 띄우기 본문
프로그래밍을 배우기 전부터 항상 궁금했었던 윈도우 창 띄우기를 예제를 통해서
배우는 시간을 가질 수 있었다. C언어의 기초적인 내용에서는 계산기의 역할에서
벗어난다는 느낌을 계속해서 받을 수 밖에 없었는데, 기초적인 라이브러리, 컴퓨터 구조 등의
메모리가 어떻게 움직이고, 헤더파일과 cpp파일의 구성요소가 어떻게 활용되는지
이해를 높이고난 뒤 DirectX에 들어오면서 비로소, 이전부터 갖고있었던 궁금증을
해소할 수 있었다. 기본적인 세팅부터 OS에서 제공해주는 다양한 헤더파일을
사용하는 것에 대해서 신경을 쓸게 많다는 것도 중요했지만, 개인적으로는 내부적인
매크로나 클래스는 어떻게 작동하는지도 궁금했지만, 디테일한 부분은 나중으로 미루고
강의 내용을 복기하는 포스팅으로 진행할 예정이다.
프로그래밍 환경은 Window 32bit 환경을 기준으로 예제를 활용했다.
프로그래밍에 앞서서 PCH 기능을 활성화 하기 위해서,
기본적인 초기 세팅을 진행했다.
이후 프로젝트 속성(Alt + Enter) -> C/C++ 미리 컴파일된 헤더의
속성탭에서 미리 컴파일된 헤더를 사용으로 변경해주었다
다음으로 미리 컴파일된 파일이 아닌 기존의 생성된 Framework.cpp 프로젝트의 속성을 사용에서 만들기로 활성화해주어야한다
다시 코드편집기로 돌아가서 Framework.h에 자주 사용할 헤더파일을 모아서, 프로그래밍을 진행할 것인데
<Windows.h> 윈도우 헤더에서 제공해주는 API를 이용해서, 다양한 예제를 실습하는 방향이었다.
모르는 내용들 위주로 작성할 예정이다.
Main.cpp에 기본적인 자료형을 추가한 뒤
새 필터를 추가해주었는데,
하나의 공간을 나누는 역할을 할때 사용했다.
이후 - 생성된 Systems 필터의 ->추가 ->새항목 ->찾아보기 로
접근한 폴더에 필터명과 동일한 파일을 추가해주었다.
언리얼엔진에서는 자동으로 만들어지는 특징을 가지고 있는데,
세삼 언리얼 엔진이 사용자에게 정말 친화적으로 프로그래밍되있구나 싶었다
위와 같이 초기의 세팅을 마춰준 뒤에 추가되는 디렉토리인 Systems 안에 있는 .cpp와 헤더파일에도 PCH 기능을 추가해주기 위해서는 아무런 초기 설정없이는, 아래와 같은 코드를 입력해야 한다.
하지만, 필터로 만들어둔 Systems 파일의 속성에서 이러한 불필요한 코드를
입력하는 것을 설정으로 해소 시킬 수 있는데, 방법은 다음과 같았다.
해석 하기로는 "." 현재 폴더 " / " 하위 폴더로 현재 폴더의 하위 폴더까지
추가 포함 디렉터리에 추가하겠다는 속성을 설정해줌으로서 UnitTest(현재파일)/Systems(하위파일)까지
PCH가 되는 것을 확인 가능했다. 필기를 하면서 구성요소를 표로 만들어야 어떤 구조로 진행되는지 이해된다..
여기까지 작성된 부분이 Window 창을 띄우기 위한 PCH 설정을 위한 기본 설정이었다.
포스팅 작성 이외 개인적인 궁금한 내용들
WinMain에 자료형에 해당하는 것도
int WinMain(HINSTANCE InInstance, HINSTANCE InPrevInstance, LPSTR InParam, int InCommand)
작성했었는데 이는 따로 포스팅하면서 정보 찾아봐야겠다. 다른 것도 어떤게 있는지 궁금하다.
'이론 > DirectX' 카테고리의 다른 글
DirectX 관련 키워드 및 개념 요약 정리해두기 (1) | 2025.06.02 |
---|---|
Time 관련 (0) | 2025.06.02 |
래스터라이즈(Rasterize)란? (0) | 2025.05.30 |
DirectX에 관하여 기본적인 지식 뼈대 만들기 (4) | 2025.05.29 |
미리 컴파일 된 헤더(Precompiled Header : PCH) (0) | 2025.05.29 |