개발이 진행되면 될수록 프레임도 점점 떨어지면서 안티엘리어싱을 해제해도 40프레임을 겨우 넘기고 있었습니다.
GPU를 이용해서 Camera의 회전을 계산하여 렌더링하고 싶었지만, 기본 렌더링 API는 GPU 가속화를 지원하지 않는다는 걸 알게 되고 OpenGL ES라는 GPU 렌더링 라이브러리 이용해 렌더링하기로 하였습니다.
이러한 결정으로 프레임워크의 렌더링 관련 클래스부터 다시 새롭게 작성해야 했습니다. 거의 밑바닥부터 다시 시작하는 일이지만 저는 저의 목표를 이루고자 마음을 먹었기 때문에 계속 진행할 수 있었습니다.
프레임워크를 새롭게 고치면서 OpenGL 전용 클래스들이 추가되고 3D 작업을 위해 3D 카메라 관련 클래스와 여러 Math 클래스도 추가되었습니다.
초기 프레임워크를 이해하기 쉬웠기 때문에 생각보다 큰 어려움 없이 잘 진행된 거 같습니다.
프레임워크를 완성하자마자 성능테스트를 위해 뒷배경 오브젝트 하나로 렌더링 테스트를 진행해봤습니다.
‘갤럭시 지오’에서 평균 90프레임으로 잘 구동되었습니다. 이전에 한번 일부 계산 식을 최적화하여 이런 성능을 보여줄 수 있었던 것 같습니다.
게임성능이 대폭 상향되자 게임을 반드시 완성하고 싶은 의욕이 생겨났습니다.
이전에 만들었던 하얀색 객체를 인덱스 버퍼로 렌더링하도록 수정하였습니다.
일부 계산식만 최적화를 하였기 때문에 ‘갤럭시 지오’에선 70프레임 대에 머물러 있습니다.
이 문제는 몇 가지가 구현되고 난 뒤 간단한 컬링을 구현하여 최적화를 하게 됩니다.