굳이 이런짓을 하는 이유는... 저도 여기오시는 많은 분들처럼 파스칼에 영혼을 빼앗긴 상태라...
malideveloper 사이트에 가면 데스크탑 OS용 OpenGL ES 에뮬레이터를 구할 수 있습니다.
다음 링크에서 가면 윈도, 리눅, 맥용 라이브러리를 내려받을 수 있지요.
http://malideveloper.arm.com/develop-for-mali/tools/opengl-es-2-0-emulator/
설치 후 "C:\Program Files (x86)\ARM\Mali Developer Tools\OpenGL ES Emulator v1.3.0\bin" 을 열어보면
libEGL, libGLESv1_CM, libGLESv2 세 개의 DLL이 있습니다. 각각 EGL, GLES 1.1, GLES 2.0을 담당하는 놈들이죠.
라자루스의 h2pas를 휑~ 돌린 뒤 터보델파이를 기준으로 대충 굴러가게 만들어봤습니다.
EGL을 이용해 델파이 폼 위에 GLES 1.1, GLES 2.0 컨텍스트를 만들고 삼각형을 뿌려보는 예제는 아래 링크에.
http://oranke.tistory.com/244
이놈들을 이용해 DLL 내에 Jni 형식으로 정의된 함수들을 호출해주는 간단한 런처를 만들었더니
안드용 NDK 라이브러리를 델파이로 개발하고 디버깅하는 환경 비슷하게 맞출 수 있네요.
완성된 DLL 소스를 FPC+NDK로 arm-linux용 라이브러리로 빌드해 폰에 올려봤습니다.
빌드된 APK는 여기로...
http://oranke.tistory.com/246
아쉬운 점은 바이너리의 크기...
빈 라이브러리 빌드시 20k...
libc, libm 링크시 200k...
SysUtils, Classes 유니트 포함하면 700k 까지 늘어나는 크기가 참 당혹스럽습니다.
FPC 크로스빌드환경을 -CX -XX 를 주어 재구성해도 별 효과가 없네요.
그나마 APK 자체가 압축되는 녀석이라 다행... 뭔가 신박한 링크옵션이 있나 찾아 해메는 중입니다.
결론은?? NDK 쓸거면 그냥 C로 만드세요.
그래도 맨날 서버 만지느라 굳어진 머리가 간만에 쫀쫀해지는 느낌이 들어 참 좋네요.
일요일 저녁밥도 생략하고 도서관 문닫을때까지 뻘짓하다가 왜 안들어오냐고 마누라한테 구박받은건 유머~~ ^^;