데브허브 | DEVHUB | 씬뷰Scene View와 게임뷰Game View 분리 작업씬뷰Scene View와 게임뷰Game View 분리 작업
- 신뷰와 게임뷰 분리 목적: 에디터 조작을 위한 3인칭 신뷰와 실제 게임 카메라 시점의 게임뷰를 분리하여 개발 효율성을 높입니다. 🎮
- 두 개의 카메라 사용: 신뷰는 '에디터 카메라'를, 게임뷰는 '메인 카메라'를 사용하여 각기 다른 시점에서 렌더링합니다. 📸
- 렌더 타겟 분리: 에디터 카메라는 별도의 렌더 타겟에 렌더링하고, 게임뷰는 기본 프레임 버퍼(스왑 체인)를 사용합니다. 🖼️
- 렌더링 과정: 신뷰 렌더 타겟 설정 -> 물체 렌더링 -> 기본 프레임 버퍼로 복귀 -> 게임뷰 물체 렌더링 순으로 진행됩니다. 🔄
- 성능 영향: 두 뷰에 각각 물체를 렌더링하므로, 에디터에서는 빌드 버전보다 프레임 성능이 낮아질 수 있습니다. 📉
- 엔진 개발 확장: 단순 렌더러를 넘어 스크립트, 툴, 파일 입출력, 리소스 관리 등 게임 엔진의 다양한 기능 구현을 목표로 합니다. ⚙️
- DX11에서 DX12로 전환 예정: 다음 강의에서는 기존 DX11 기반 엔진을 DX12로 전환하는 작업을 진행할 예정입니다. 🚀
- 유니티/언리얼 엔진과의 유사성: 상용 엔진들도 이와 유사하게 신뷰와 게임뷰를 분리하여 제공합니다. 💡
- IM GUI 활용: 신뷰의 렌더링 결과는 IM GUI의 이미지 함수를 통해 에디터 화면에 표시됩니다. 🖥️
- 렌더링 로직 재구성: 카메라 클래스에 있던 렌더링 함수를
Renderer 클래스로 옮겨 두 뷰에서 재사용 가능하도록 구조를 변경했습니다. 🏗️