자체 3D 엔진만들 때 도움이 될 만한 무료 강의
DirectX 12를 공부하고 각종 예제를 만들어도 보면서 라이브러리화 시키고 있었습니다. 그럴 때 좀 더 좋은 엔진같이 만들고 싶어서 관련 강의를 찾다가 괜찮은 강의를 발견하고 본 후에 추천하려고 합니다.
추천 강좌는 유튜브 무료 강좌이며 아래와 같습니다.
강좌는 해당 유튜브 채널의 재생목록에서 Game Engine Programming 을 클릭하고 처음부터 보면 됩니다.
개인 적으로 만들고 있는 것의 방향성을 고민할 때 에디터를 C#으로 만들거나 FBX 임포트 등을 고민하고 있었습니다. 그런데 해당 강좌는 제가 구상한 관련 내용을 다 포함하고 있어서 좋았습니다.
해당 강좌는 기본 C#, WPF를 이용하여 에디터를 만들고 C++, DirectX 12를 이용하여 게임 엔진을 만드는 무료 강좌입니다. 해당 강좌는 몇년째 진행 중이고 실제로 강좌라기 보다는 저자가 자신의 엔진을 만들면서 만든 코드 하나 하나를 설명을 하고 있는 형식을 취하고 있습니다.
소규모 팀이 만드는 3D 엔진이라고 하나 내용은 전문 엔진 못지않는 깊은 내용들을 포함하고 있습니다. 물론 처음에는 C# WPF로 에디터로 부터 시작하지만 뒤로 가면 대부분 C++ 엔진에 대한 내용을 주로 다룹니다.
해당 강좌를 보다보면 C# & WPF, Game Entity and Components System, Post-process, Forward+ lighting, LOD, Mipmap, FBX SDK 사용(툴의 3D 모델 Import을 위하여), Normal Mapping, PBR lighting등의 구현이라는 굵직한 주제부터 C++ 17 최신 코딩 기법이나 템플릿 테크닉, C#과 C++의 데이터나 API 교환 등의 그래픽 프로그래밍 외의 테크닉까지 배울 수 있습니다. 전반적으로 코딩도 깔끔합니다.
물론 영어 강좌라 언어 장벽은 있지만 영어가 아주 어려운 편이 아니라 영어 자막을 켜놓고 보다보면 볼만 합니다. 자동 자막이라 일부 오타도 보이는 관계로 자동 자막 -> 자동 번역으로 보는 한글의 수준이 어떨지는 잘 모르겠습니다. 하지만 프로그래밍은 어느 분야든 깊이 있게 공부하려면 일정 수준의 영어 문서나 강좌는 봐야하는 관계로 이 정도는 감수해야 합니다.
마지막으로 WPF는 그냥 대충 이런 거구나 하고 보면 되는데 DirectX 12와 같은 경우 확장 DX라이브러리를 전혀 안쓰고 만들고 설명도 크게 하지 않는 관계로 어느정도 깊이 있게 이해하고 보는 보는 것이 좋습니다. 테크 트리상 C++, C#, WPF(optional), DirectX 12 -> 해당 강좌 입니다.