최근 Android NDK r9가 OpenGL ES 3.0 지원을 발표했습니다. JNI/네이티브 코드에서 OpenGL ES 3.0을 사용하는 방법을 보여주는 예제는 samples/gles3jni
입니다.Android에서 OpenGL ES 3.0 NDK r9
- API 레벨 11과 호환 나중에
- 이 필요 API 레벨 18 이상 : 샘플은 두 가지 방법을 구축 할 수 있습니다.
두 버전 모두 OpenGL ES 3.0을 지원하지 않는 장치 용 OpenGL ES 2.0 대체 경로를 포함합니다. 그러나 첫번째 예의 경우는 LOCAL_LDLIBS
옵션 -lGLESv2
을 사용하여 OpenGL ES 2에 정적으로 연결됩니다. 두 번째 경우에는 정적으로 GLES 3과 동일한 방식으로 연결됩니다.
초기화는 다음과 같이 진행됩니다
const char* versionStr = (const char*)glGetString(GL_VERSION);
if (strstr(versionStr, "OpenGL ES 3.") && gl3stubInit()) {
g_renderer = createES3Renderer();
} else if (strstr(versionStr, "OpenGL ES 2.")) {
g_renderer = createES2Renderer();
}
가 어떻게 .so
에서 동적으로 모든 부하 GLES 2 또는 3에서 정적 링크를 생략 할 수 있습니다?
태그를 지우려면 다음을 수행하십시오. http://meta.stackexchange.com/questions/190739/opengl-es-3-or-opengl-es-3-0-tag?noredirect=1#comment591924_190739 –