GLES 3.0 incluyendo gl2ext.h
De acuerdo con el Registro Khronos OpenGL ES , el encabezado de extensión de GLES 3.0 es en realidad <GLES2/gl2ext.h>
. gl3ext.h
debe estar vacío y sólo se proporciona para la compatibilidad heredada. Por lo tanto, si desea incluir encabezados de GLES 3.0, debe hacer lo siguiente:
#include <GLES3/gl3.h> #include <GLES2/gl2ext.h>
Sin embargo, compilando con el NDK de Android, parece que esa versión del gl2ext.h
interna #include <GLES2/gl2.h>
, dando el siguiente error * (estoy compilando con API-19):
- Zoom in OpenGL ES 2.0 - desapareciendo objeto
- Android pinch / zoom y glfrustum
- Tamaño de textura mínimo requerido para el cumplimiento con OpenGL-ES 2.0 en Android?
- Mapeando una textura en un cuadrado: ¿Por qué se rota la imagen?
- Zero-copia de procesamiento de la cámara y la prestación de tuberías en Android
C:\android-ndk-r10e\platforms\android-19\arch-arm\usr\include\GLES2\gl2ext.h(6): includes this header: C:\android-ndk-r10e\platforms\android-19\arch-arm\usr\include\GLES2\gl2.h(572,37): error : conflicting types for 'glShaderSource' GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length); ^ C:\android-ndk-r10e\platforms\android-19\arch-arm\usr\include\GLES3\gl3.h(905,39): note: previous declaration is here GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
Esto se debe a que el prototipo de glShaderSource
cambiado de GLES 2.0 a GLES 3.0 core. ¿Se trata de un error en la versión Android de NDK de los encabezados glext, o no estoy haciendo algo correctamente?
- Android inicializa el contexto openGL2.0 con EGL
- Problemas para que SurfaceTexture funcione con Android Videoplayer en MALI 400
- Compatibilidad de Open GL 2.0 vs 1.1 en Android
- parámetros de glGenTexture?
- Compartir el contexto GLES20 y texturas entre GLSurfaceViews diferentes?
- glClearColor no funciona correctamente (opengl android)
- la animación adview admob hace que glsurfaceview se retrasa
- Memoria insuficiente al asignar memoria nativa
Basándome en los comentarios de Michael, he encontrado que esto está arreglado en API-21. Sin embargo, si todavía necesita usar API-18 o API-19, hay un trabajo alrededor. Usted puede simplemente:
#define __gl2_h_ #include <GLES2/gl2ext.h>
Cuando gl2ext.h incluye gl2.h, el protector de inclusión definido hará que se salte el contenido de gl2.h.
- Dónde cambiar la acción de compilación para AndroidManifest.xml a "none?"
- ¿Cómo conseguir que Flowplayer se reproduzca automáticamente en Android WebView?