개요
DirectX11를 이용하여 미니 자체 엔진을 만드려고 한다. 수년전부터 생각만 했었고, 여러가지 핑계를 이유로 진행하지 못하였었다. 앞으로 열심히 다시 진행하려고 한다. 쓰일 기술 스택, 라이브러리는 다음과 같다.
- DirectX 11
- WinUI3(Windows app SDK)
- Assimp(Asset Import Library)
아키텍쳐
AuthoringTool : 응용프로그램. 렌더링 엔진을 제어하기 위한 다양한 UI로 이루어져 있다. 엔진 인터페이스를 통해 엔진을 제어하고 UI를 갱신한다.
EngineInterface : 응용프로그램과 엔진을 연결해주는 인터페이스. 엔진 코어 프로젝트를 로드하고 엔진의 라이프 사이클을 관리한다.
EngineCore : 엔진 코어. 동적 라이브러리(dll) 형태이며 실제 렌더링 작업을 한다.
EngineSubModule : 유저가 정의한 서브모듈. “프로젝트”라는 이름으로 사용된다. 동적 라이브러리(dll)형태이며 엔진이 초기화될때 미리 정의된 기본 프로젝트가 로드되거나, 저작도구에서 메뉴를 통해 불러올수 있다.
SharedTypes : 엔진 인터페이스와 엔진 코어가 동일하게 사용하는 정적 라이브러리.
프로젝트 진행계획
- 저작도구에서 엔진 서브모듈 프로젝트 불러오기.
- 마우스, 키보드등으로 작업후 씬 파일로 저장.
- 플레이어 실행으로 씬 동작 확인
- 저작도구, 플레이어 배포
- DirectX, 3D 그래픽스 기술 R&D 후 적용