0504 카메라와 상관없는 UI
1. 카메라의 자식으로 UI를 붙인다.
2. CanvasLayer를 만들고 거기다 자식으로 UI를 붙인다
원리는 다음과 같다.
1. IViewport에 ignore_view 속성을 추가한다
2. IViewport에 get_current_view_matrix() 와 get_current_projection_matrix()를 추가한다.
그리고 모든 오브젝트가 get_current_cam2d() 가 "아닌"
저걸 통해서 뷰 / 프로젝션 얻게 한다.
3. CanvasLayer가 draw될 때,
먼저 get_owner().set_ignore_view(true)
하고 자식 렌더링한 후에
get_owner().set_ignore_view(false);
4. IViewport의 get_current_view_matrix()안에서
만약 ignore_view라면
mat4(1.0f).translate(window_size / 2.0)
을 반환하고,
아니라면
current_cam2d->get_view()
를 반환