안녕하세요... 아즈라엘 입니다.
NDK 환경에서 openGL library 를 사용하기 위해..
//#include <GLES/gl.h>
//#include <GLES/glext.h>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
이런식으로 include 시켰습니다.
물론..Android.mk 파일 flag 값 setting 도 잊지 않았고요
LOCAL_CFLAGS := -Werror -DANDROID_NDK -DDISABLE_IMPORTGL
LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -llog
다만..
include 시 두개를 동시에 사용하지 못하게 되어 있는거 같습니다.
해당 해더파일을 머지해보면 중복으로 선언이 되어있는게 많이 있습니다.
문제는 제가 포팅해야 하는 c/cpp 파일엔 두개의 해더파일을 다 써야
빌드가 되는 이상한 상황이라..
둘다 include 시켜야 하는 상황에서는 에러가 발생되기 때문에 머지해서
typedef 선언을 다시 해주었습니다.
define 선언도 마찬가지고요..
여하튼 우역곡절끝에 빌드는 되었는데..
문제는 glGetString(GL_VERSION) 으로 버전을 확인하면
OpenGL ES 2.0 이 죽어도 안들어 오는군요..ㅠㅠ
android manifest.xml 에
<!-- require OpenGL ES version 2.0 -->
<uses-feature android:glEsVersion="0x00020000" />
<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8" />
이렇게 명시적으로 해도 안되는건 마찬가지입니다.
//#include <GLES/gl.h>
//#include <GLES/glext.h>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
위 두가지를 동시에 include 를 하는게 맞는건지..
혹은 둘다 하면 안되는거고
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
2.0으로만 사용해야 하는건지.. 궁금합니다.
또한 2.0 lib로 빌드가 안되고 1.0 으로 빌드가 되는 function 및 const 들은 어떻게 처리를 해야 할까요?
긴 글 읽어주셔서 감사합니다. 수고하세요~!! ㅎㅎ