Android Opengl ES: GLUtils.glTexImage2D вызывает GL_INVALID_ENUM

Я пытаюсь сделать простой текстурированный GLSurfaceView на Android 2.2 с использованием GLSurfaceView . Я загружаю BMP-изображение (128×128) с помощью BitmapFactory.decodeResource() – это, похоже, работает. Но всякий раз, когда я пытаюсь поместить это растровое изображение в текстуру OpenGL, используя GLUtils.glTexImage2D я получаю ошибку OpenGL: glGetError() возвращает 1280, GL_INVALID_ENUM . Что я делаю не так? Это код для моего Renderer:

 public class MyRenderer implements GLSurfaceView.Renderer { Context context; int texId; public MyRenderer(Context c) { this.context = c; } @Override public void onSurfaceCreated(GL10 gl, EGLConfig config) { gl.glEnable(GL10.GL_TEXTURE_2D); this.texId = loadTexture(gl); } int loadTexture(GL10 gl) { int[] tmp = new int[1]; gl.glGenTextures(1, tmp, 0); int id = tmp[0]; Bitmap bmp = BitmapFactory.decodeResource(this.context.getResources(), R.drawable.myimage); gl.glGetError(); GLUtils.texImage2D(id, 0, bmp, 0); int err = gl.glGetError(); if (err != 0) { // err == 1280, prints "invalid enum": System.err.println(GLU.gluErrorString(err)); } return id; } @Override public void onSurfaceChanged(GL10 gl, int width, int height) { gl.glViewport(0, 0, width, height); gl.glMatrixMode(GL10.GL_PROJECTION); gl.glLoadIdentity(); GLU.gluOrtho2D(gl, 0, width, height, 0); gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glLoadIdentity(); } @Override public void onDrawFrame(GL10 gl) { // ... } } 

Вероятно, это должно быть что-то вроде:

 gl.glBindTexture(GL10.GL_TEXTURE_2D, id); GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bmp, 0); 
Intereting Posts
Как назначить визуально разные значки запуска для различных действий Android Phonegap Media error code 1 воспроизведение локального mp3-файла в Android-устройстве Вращающийся круг ProgressDialog Конечные точки Google и аутентификация пользователя Нужно ли мне отображать лицензию apache в моем приложении при использовании phonegap? Как показать домашний дом по умолчанию как индикатор повышения с помощью панели действий поддержки? Как открыть окно чата Messenger для Facebook, используя идентификатор приложения в Android Как разработать макет для S4 Контакты устройства Android, показывающие дубликаты контактов Как реализовать селектор цвета TextView, когда слушатель OnClick установлен в его родительском макете? Как очистить (пустой / без значений) прядильщик на кнопке Обнаружение изменения вкладки ViewPager внутри фрагмента Как изменить значок элемента меню ActionBar динамически BadTokenException: невозможно добавить окно Службы Google Play с помощью AdMob. Проверить наличие свободных мест?