DirectX12 imgui 초기화 및 렌더링
- DX12 프로젝트에 IMGUI를 연결하여 UI 툴을 활용하는 방법을 설명합니다. 🔗
- IMGUI 추가 방식은 DX11과 크게 다르지 않으며, 윈도우 메시지 핸들러와 에디터 설정이 필요합니다. 🔄
- IMGUI의 다이렉트X12 버전을 따로 받아 프로젝트 폴더로 옮겨야 합니다. 📁
- IMGUI 렌더링은
Begin, 초기 함수 호출, End, IMGUI_Render 순서로 UI를 그립니다. 🎨
- DX12에서는 IMGUI 전용 디스크립터 힙을 생성하고 커맨드 리스트에 세팅해야 합니다. 🧱
- 렌더 타겟과 프레젠트 간의 리소스 배리어 설정이 중요하며, 커맨드 리스트 클로즈까지 진행됩니다. 🚧
- 커맨드 리스트는 게임 오브젝트를 그린 후 IMGUI UI를 덮어씌우는 방식으로 제출됩니다. ➡️
- 멀티프레임 렌더링을 위해 펜스를 이용한 프레임 데이터 동기화 코드가 필요합니다. ⏱️
- DX12 그래픽 디버깅에 특화된 RenderDoc을 사용하여 프레임 캡처, 픽셀/버텍스 쉐이더 디버깅, 파이프라인 검사가 가능합니다. 🐶
- RenderDoc은 실행 파일 경로 설정, 런치, 프레임 캡처, 데이터 열기 순서로 사용합니다. 🚀
- RenderDoc으로 버텍스 쉐이더의 입출력 데이터와 픽셀 쉐이더의 컬러 값 변화를 확인할 수 있습니다. 🔍
- DX12 API의 파이프라인 흐름을 파악하는 것이 기술 적용과 응용에 핵심입니다. 💡
- 삼각형 그리기 예제를 반복하고 다양한 자료를 분석하여 DX12 파이프라인에 익숙해지는 훈련이 필요합니다. 📚
데브허브 | DEVHUB | DirectX12 imgui 초기화 및 렌더링