运行界面
代码架构
CMakeLists.txt
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")//编译后显示所有的警告 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -Wall")//支持c++11, -fno-rtti关闭运行时类型判断 -fno-exceptions:关闭异常机制,减少资源的占用 if (${ANDROID_PLATFORM_LEVEL} LESS 12)//在12以下,不支持opengl message(FATAL_ERROR "OpenGL 2 is not supported before API level 11 \ (currently using ${ANDROID_PLATFORM_LEVEL}).") return() elseif (${ANDROID_PLATFORM_LEVEL} LESS 18) //在ES2.0的平台上,无法连接ES3.0的函数。所以,这里就需要动态加载ES3.0的函数,在ES2.0的平台上 add_definitions("-DDYNAMIC_ES3") set(GL3STUB_SRC gl3stub.c) set(OPENGL_LIB GLESv2) else () set(OPENGL_LIB GLESv3) endif (${ANDROID_PLATFORM_LEVEL} LESS 12) add_library(gles3jni SHARED ${GL3STUB_SRC} gles3jni.cpp RendererES2.cpp RendererES3.cpp) # Include libraries needed for gles3jni lib target_link_libraries(gles3jni ${OPENGL_LIB} android EGL log m)