삽질하는플머

모바일용 고정소수점 연산 함수

Lazarus/Mobile

제가 게임에서 사용하는 벡터 / 행렬 라이브러리를 위한 기본적인 수학 함수들을 고정 소수점  함수들로 만들어 봤습니다. 나중에 OpenGL-ES에 써먹을 예정이기 때문에 GLFixed 와 동일하게 부호1비트, 정수15비트, 소수16비트를 사용하고 있습니다. 삼각함수 및 제곱근, 역수관련해서는 빈센트3D의 OpenGL-ES 구현을 참조했구요

문제가 됐던 아크탄젠트는 대충 원하는 속도 / 정밀도가 나와주길래 룩업테이블이 아닌 계산으로 마무리 지었습니다. raindraw님의 구현은 잘 저장 해 두었다가 계산에 문제가 생기면 바로 바꿔끼우겠습니다. 다시 한 번 감사드립니다.

일단 테스트는... 서비스 중인 게임의 코드를 일부 갈아끼우는 (맞아죽을) 방법을 사용했는데요... (~~ ^^;;)
어차피 게임이라는 게 비주얼 부분에서 약간의 계산 오차는 허용하는지라... 겉보기에는 멀쩡하게 동작하네요.
선형 가감속을 지원하는 1차원 댐퍼를 이 함수들로 만드는 중인데... 시간단위로 쓰는 틱이 182만 되도 그 제곱이 벌써 15비트를 넘기는 바람에 상당히 골치가 아프네요. 세상의 모든 모바일 개발자 여러분들... 존경합니다.

가지 말라고 매달리는 아들놈 떼어놓고 하루 종일 게임방에 틀어박혀 삽질중인데... 시간당 700원입니다. 헐~~
이 돈 받아 전기세라도 나오나... 만화방에 이어 또 하나의 예비 직업이 사라지고 있군요...

아무튼, 오류 지적 및 살 붙이기에 미리 감사드리구요~~~ 전 이만 내일을 위해 집으로 돌아갑니다. ^^;;




델마당에 올리는 글이라 경어체로 쓰고 나니... 블로그에는 잘 어울리지 않는군.
이 참에 모두 존댓말로 바꿔버릴까~~