Pallete 클래스
- 이 클래스는 타일 맵 툴에서 사용될 녀석이다
- 마우스로 Pallete에 있는 타일을 클릭해서 화면상에 찍어 주면, 그 타일이 화면에 출력된다
- 이렇게 맵에 타일을 깔아주면, 그 타일들이 모여서 맵이 만들어진다.
- 이렇게 맵 단위로 만들게 되면 당연히 그 맵에 몬스터도 같이 추가시킬 것이기 때문에 나중에 추가할 Prefab 기능을 고려해서 작성하고 있다.
ImGui::ImageButton
- 이 함수는 첫 번째 인자로 ShaderResourceView를 받고, 두번째 인자로 사이즈를 받는다.
- Pallete의 전체적인 로직은 메인 함수에서 툴을 초기화할 때 특정 경로에 있는 타일들을 다 텍스쳐로 로드한 후,
- 그 텍스쳐를 Resources (리소스 매니저)에 저장함과 동시에 벡터에 담아서 Tool 클래스에 전달한다
- 그러면 Tool 클래스는 자신을 초기화하면서 이 벡터를 Pallete에게 전달해주고, Pallete는 매 업데이트 때마다 그 정보를 토대로 이미지를 출력하게 된다.
Raycast
- 레이캐스트는 아직 학원에서 개념만 배우고, 실습을 해보진 않았지만 이전에 인프런 dx12 강의에서 Picking을 배웠던게 도움이 많이 되었다.
- 이번에 한 게 정확히 레이캐스팅은 아니지만 실습해보면서 스크린 좌표계에서 NDC좌표계로 변환하는 과정을 디버깅해보면서 제대로 매칭되는지, 배운 내용을 잘 기억하곤 있는지 확인 겸 복기하는 경험을 할 수 있었다.
- 그리고 NDC 좌표계에서 뷰 좌표계로 넘긴 다음, 뷰 좌표계에서 다시 카메라 월드행렬의 역행렬을 곱해서 월드 좌표로 이동하는 것까지 브레이크포인트로 잡아가며 확인할 수 있었다.
내일 작업해야 할 것
- 타일 클래스 생성 (타일이 가져야 할 규격 설정 등)
- 툴에서 처리해줘야 할 필수적인 기능들 추가
(들고 있는 타일을 취소하는 기능과 이미 그린 타일을 지우는 기능 등..)
'게임 개발 > [D2D_Portfolio] DirectX2D 포트폴리오 작업일지' 카테고리의 다른 글
6. PhysX Debug Rect 기능 개선 (0) | 2023.03.16 |
---|---|
5. 타일 출력 및 정렬 구현 (0) | 2023.03.15 |
4. Tool Pallete 기능 개선 및 Grid 구현 (0) | 2023.03.14 |
2. 툴 구상 및 설계 (0) | 2023.03.10 |
1. DirectX11과 PhysX 연동_230309 (0) | 2023.03.09 |
댓글