android-ndk,找不到 glGenVertexArraysOES

标签 android-ndk vertex-array

我想在我的 Android 原生 C 应用程序中使用 VAO。

问题是,GL_OES_vertex_array_object支持,我什至可以得到glBindVertexArrayOES的地址和 glDeleteVertexArraysOES但是 glGenVertexArraysOES没有找到。

是否存在GL_OES_vertex_array_object意味着所有这些功能都可以访问?

我的 VAO 初始化代码:

std::string vao = "GL_OES_vertex_array_object";

if ( isExtensionSupported ( vao.c_str () ) != 0 )
{
    LOG ( vao << " supported" );
    glBindVertexArrayOES = (PFNGLBINDVERTEXARRAYOESPROC)eglGetProcAddress ( "glBindVertexArrayOES" );
    if ( !glBindVertexArrayOES )
        LOG ( "Can't get proc address: glBindVertexArrayOES" );

    glDeleteVertexArraysOES = (PFNGLDELETEVERTEXARRAYSOESPROC)eglGetProcAddress ( "glDeleteVertexArraysOES" );
    if ( !glDeleteVertexArraysOES )
        LOG ( "Can't get proc address: glDeleteVertexArraysOES" );

    glGenVertexArraysOES = (PFNGLGENVERTEXARRAYSOESPROC)eglGetProcAddress ( "glGenVertexArraysOES" );
    if ( glGenVertexArraysOES )
        LOG ( "Can't get proc address: glGenVertexArraysOES" );
}
else
{
    LOG ( vao << " not supported" );
}

当然我得到了日志消息
Can't get proc address: glGenVertexArraysOES

My Android.mk (shortened a little bit):

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := smart
LOCAL_SRC_FILES := Base/Node.cpp
...

LOCAL_LDLIBS    := -llog -landroid -lGLESv2 -lEGL
LOCAL_STATIC_LIBRARIES := nv_and_util

include $(BUILD_SHARED_LIBRARY)

$(call import-add-path, C:/NVPACK/TDK_Samples/tegra_android_native_samples_v10p00/libs/jni)
$(call import-module,nv_and_util)

设备型号三星 i9003 与 Android 2.3.5

最佳答案

我刚刚测试了这个......

代替:

#include <GLES2/gl2ext.h>

有了这个:
#define GL_GLEXT_PROTOTYPES
#include <GLES2/gl2ext.h>

宏 GL_GLEXT_PROTOTYPES 必须在包含 gl2ext.h 之前定义。
无需明确定义函数。

关于android-ndk,找不到 glGenVertexArraysOES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12490567/

相关文章:

android - Android 上的 MP3 解码

opengl - VAO 和元素数组缓冲区状态

android - 从 Java 实例化 JNI 库的多个副本

opengl - 为什么 OpenGL 的 glDrawArrays() 在核心配置文件 3.2 下会因 GL_INVALID_OPERATION 而失败,但在 3.3 或 4.2 下却不会?

opengl - 关于 GL_VERTEX_ARRAY 的一个问题

java - OpenGL:使用顶点数组渲染数千个立方体,效果不太好

c++ - 带有 SFML 的动态光照程序,1.6 到 2.x 转换

android - 从原生 c 代码 android 创建文件

android - 如何在android-ndk项目中使用C++类

java - 未找到原生的实现