Android:NDK:OpenGLES
Android의 OpenGLES를 NDK에서 구현하는 방법에 대한 설명.
How to use
JNI에서 사용하기 위하여 관련 라이브러리를 추가해야 한다. 관련 라이브러리 목록은 아래와 같다.
OpenGLES 2.0 사용하기
Android에서는 별도의 설정없이 OpenGLES을 사용할 경우 1.0 버젼 기준으로 동작되게 된다. 1
경고 |
OpenGLES 1.x와 OpenGLES 2.0은 호환되지 않는다. |
그리고 Android.mk 빌드 설정 파일에 LOCAL_LDLIBS
옵션에 -lGLESv2
를 추가해 줘야 한다. C/C++에서는 #include <GLES2/gl2.h>
와 #include <GLES2/gl2ext.h>
두개의 헤더를 include 하면 opengl es 2.0을 사용할 수 있다. OpenGLES 정보 표시방법은 알래와 같다:
static void PrintGLString(const char *name, GLenum s)
{
const char *v = (const char *) glGetString(s);
LOGI(TAG, "GL %s = %s\n", name, v);
}
static void printOpenGLInfo()
{
PrintGLString("Version", GL_VERSION); // OpenGLES Version 표시
PrintGLString("Vendor", GL_VENDOR); // Chip set Vendor
PrintGLString("Renderer", GL_RENDERER); // 그래픽 칩셋 모델 정보.
PrintGLString("Extensions", GL_EXTENSIONS); // 좀더 자세한 정보를 보실수 있습니다.
}
Android OpenGLES NDK 강좌목록
아래 파일을 확인하면 된다.
- NDK OpenGL 01 프로젝트 준비: Berabue_android_ndk_opengl_01.pdf
- NDK OpenGL 02 해상도 지정하기: Berabue_android_ndk_opengl_02.pdf
- NDK OpenGL 03 텍스쳐 입히기: Berabue_android_ndk_opengl_03.pdf
- NDK OpenGL 04 쓰레드 생성: Berabue_android_ndk_opengl_04.pdf
- NDK OpenGL 05 2의 제곱수가 아닌 텍스쳐 출력하기: Berabue_android_ndk_opengl_05.pdf
- NDK OpenGL 06 내맘대로 텍스쳐: Berabue_android_ndk_opengl_06.pdf
See also
Favorite site
References
-
OpenGLES 2.0 버전을 사용하는 예제는 APIDemo에서
Graphic -> OpenGL ES -> OpenGL ES 2.0
을 참고하시면 된다. ↩