출력 구현
기본적인 트랙 출력 구현을 완료하였고, 오브젝트 출력만이 남았다.
SingleTrackTextureRenderer
이 클래스는 기본적으로 하나의 트랙에 대한 배경 텍스처를 그리는데 사용한다.
선 출력 구현
이전 장 개발 기록을 보면, 수식적으로 계산하여 삼각 함수를 사용하여 선을 그리고 있는데, 이 때 시작 점이 달라지거나 마이너스 좌표 등 각도가 일정 이상 넘어가면 따로 계산을 해줘야 하는 문제가 존재한다. 따라서 공간 수학인 기하학을 사용해서, 벡터를 통해 계산하였다.
기본적으로 어떤 선이 있고, 그 선을 주위로 Width 만큼 박스를 채워 선을 그려야할 때, 주위 선을 구해야 한다.
예를 들어 아래 Line 이 있다면 Line의 StartXStartY가 있는데, 각 양쪽 너비만큼 해당하는 LeftStartXLeftStartY RightStartX RightStartY 를 구해야 한다.
결과
결과적으로 매우 얇은 선을 그릴 수 있게 되었고 View의 Scale에 따라 선의 크기가 동적으로 바뀌는 렌더링을 구현할 수 있었다. 아래 이미지의 초록 선은 기본 drawLine 을 사용한 것이고, 위의 보라 선은 매우 얇은 surface를 그려 렌더링 한 것이다. 함수로 만들어 기존 선을 그리는 것과 똑같이 요청을 하면 surface로 선을 그리도록 구성하였다. 보통 면을 만들기 위해선 선을 채우는데, 면으로 선을 그리는 재밌는 경험이었다. (얇은 선 그리기를 지원하지 않으니..)
다음 목표
VTrack 내에 속해 있는 VObject 인스턴스들을 그리는 Facade 클래스 구현하기