게임 개발/[D2D_Portfolio] DirectX2D 포트폴리오 작업일지
4. Tool Pallete 기능 개선 및 Grid 구현
헛둘이
2023. 3. 14. 18:24
Pallete 클래스에 필요한 기능 추가
- 우클릭 시 마우스 커서 위치에 있던 타일 텍스쳐 제거
- 이 과정에서 발견한 버그 중 하나는 SRV 레지스터가 초기화되고 있지 않다는 것
- 팔레트 버튼 클릭 시 버튼 인덱스에 맞는 텍스쳐를 Resources에서 가져오는데,
Tool 쪽에서 텍스쳐를 nullptr로 보내줘도 SRV 레지스터가 초기화가 안되니 커서 위치의 타일이 화면에서 지워지지 않는 버그
- 이 부분을 개선하기 위해 Material에서 해당 SRV 레지스터에 보낼 텍스쳐가 없는 경우 nullptr을 가진 ShaderResourceView를 보내줘서 해결
Grid 구현
- Grid는 일반 GameObject에 GridScript를 추가해서 사용했다
- Grid를 그려주는 부분은 Shader 코드에서 구현하였다.
(큰 사각형 오브젝트를 만든 후, 그 오브젝트를 픽셀 쉐이더에서 그려줄 지 빼줄 지 결정해줌으로써 그리드를 그려낸다)
- Grid의 간격과 두께는 Script 클래스에서 멤버변수로 들고 있고, LateUpdate에서 상수 버퍼로 넘겨주도록 했다
내일 작업할 내용
- 타일이 정렬되어 찍히도록 정렬 작업
- 타일을 실제 화면에 찍는 작업