所以我想在我的 Android 应用程序中绘制简单的形状(圆柱体、球体和圆锥体)。基于this question and answer ,似乎可以将 GLU 移植到 Android 中,它具有我需要的那些功能。但是,我无法编译它。到目前为止,我已经尝试了以下方法:
- 从the glues download page下载glues-1.4-bin-qnx.tar.gz
- 在我的 Android 项目中创建一个新模块(“glues”),使用上面下载的 include/文件和 libGLUES_CM.a
- 在我的 jni/Android.mk 中包含这个模块
这是我的 glues/Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := glues
LOCAL_SRC_FILES := lib/libGLUES_CM.a
LOCAL_CFLAGS := -IC:/usr/src/android-ndk-r10c/platforms/android-9/arch-arm/usr/include \
-IC:/usr/src/android-ndk-r10c/platforms/android-9/arch-arm/usr/include/sys
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_STATIC_LIBRARY)
还有我的 jni/Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := opengl
NDK_MODULE_PATH := $(LOCAL_PATH)/..
LOCAL_CPPFLAGS := -I/usr/include
LOCAL_STATIC_LIBRARIES := glues
LOCAL_SRC_FILES := com_wickhambros_charactercreator_OpenGlJniWrapper.cpp
LOCAL_LDLIBS := -llog -landroid -lGLESv2 -lGLESv1_CM -lEGL -lm
include $(BUILD_SHARED_LIBRARY)
$(call import-add-path,$(LOCAL_PATH)/..)
$(call import-module,glues)
构建时,出现此错误:glues/include/glues.h:54:5: error: #error "Platform is unsupported"
最佳答案
QNX可能不是您想要的。
相反,您需要为 Android 编译源代码。我几乎设法通过将以下行添加到头文件中来编译它,它提示“平台不受支持”
#elif defined (ANDROID)
#include <GLES/gl.h>
#include <GLES/glext.h>
#define APIENTRY
#define GLAPI
我在 glues_mipmap.c 中使用的 GL_CLIENT_PIXEL_STORE_BIT
上失败了,在 android ndk 中找不到。
如果您不使用此文件进行构建,很可能会满足您的要求。
关于android - 在 Android 中使用 GLU ES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27346503/