본문 바로가기

내가 작업한 것들

애플 따라하기 ....

따라 만들다 죽을뻔 .. ?

애플의 하드웨어는 OpenGL 을 사용하여 그리는 matrix 기반의 연산을 쉽게 할 수 있는 우수한 기기 입니다만 ...
이걸 따라서 만들기는 쉽지 않다는 것을 요 몇일간 해 보니 알겠더군요.
특히나 sin 및 cos 함수를 쓸 수 없는 극악의 개발환경에서의 따라 하기는 .. 정말 쉽지 않은 선택 이었습니다.
결국은 어찌 해서 만들긴 했습니다만 , 하드웨어 가속 없이 만들어 지는 copy 는 아쉬움이 많이 남는 듯 했습니다.

texture distance 에 따라 fog 나 shade 를 적용 할 수 없었고 (배로 느려집니다 ...)
축소/확대 된 pixel 간의 보상을 통한 anti-aliasing 을 처리 할 수 없었습니다. (역시 매우매우 느려지는 ..)
물론 이런 상황에서 원래 이미지를 이용해서 바닥에 역상된 reflection 은 구현조차 할 수 없는 상황 이었습니다.

이런 것들이 OpenGL 또는 하드웨어 전용가속 API 을 통한 처리가 될 수 있었으면 좋았을 것임은 두말하면 잔소리 겠습니다만 ... 아직도 모바일 쪽은 이런 것이 아름다운 환상인 부분이 많다는 현실이 좀 슬프긴 합니다.

DOS 시절에나 하던 pixel 연산을 지금에도 어디서나 하고 있는 세상이지만 ...
제한적인 환경에 대한 개선을 바라는 저의 마음이 사라질 날은 과연 앞으로 몇년이나 걸릴지 궁금하기도 합니다 ^^

만든김에 window 용으로 3D 하드웨어 없이 다음 사항을 만족하도록 만들어 보아야 겠습니다.
  1. DIB windows BMP 포맷 이미지 사용.
  2. 덤으로 GDI+ Image class 에 적용 가능하도록.
  3. distance 에 따른 배경색으로 shade (점점 어두워짐)
  4. 바닥에 reflecting 기법 사용.
  5. pixel trapezoid 시 점간 보상.
이정도로 lib 또는 dll 로 만들어 배포 하면 많은 부분에서 사용이 가능하겠군요.
언제 만들 수 있을지는 모르겠습니다만 ... 일단 제가 만들던 물고기32 신버젼에 적용을 해 보아야 겠습니다.

아래에 개발중인 화면을 올립니다.
공개는 불가능 하고, 제 블로그에서만 재생해 주시기 바랍니다.