Int array to opengl texture в android

Я пытаюсь добавить некоторые эффекты к камере в Android, я нашел некоторые вещи в Интернете, но я застрял при создании текстуры,

Я использую funcion decodeYUV420SP (), который возвращает мне массив массивов int [width * height] RGB с шестнадцатеричными значениями в каждую позицию массива,

Теперь я хочу создать текстуру openGL этого массива, но я не знаю, как это сделать, я могу преобразовать каждое шестнадцатеричное значение в свой R_G_B и положить его в opengl, но он не работает. Я делаю что-то вроде этого:

mNewTexture = new int[width*height*4] for(int i=0; i<mRGB.length; i=i+4){ mNewTexture[i] = getR(mRGB[i]) ; //R mNewTexture[i+1] = getG(mRGB[i]) ; //G mNewTexture[i+2] = getB(mRGB[i]) ; //B mNewTexture[i+3] = getA(mRGB[i]); //A } 

Чтобы преобразовать шестнадцатеричное значение в RGBA (от 0 до 255)

И я делаю это, чтобы преобразовать его в текстуру openGL:

  gl.glBindTexture(GL10.GL_TEXTURE_2D, tex); gl.glTexImage2D(GL10.GL_TEXTURE_2D, 0, GL10.GL_RGBA, 1024, 512, 0, GL10.GL_RGBA, GL10.GL_FLOAT, FloatBuffer.wrap(mNewTexture)); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); 

Однако что-то не работает, потому что это не работает …

Есть идеи?

Почему вы пытаетесь обернуть свой массив int как FloatBuffer? Большая часть ваших конверсий не нужна.

Просто возьмите свою оригинальную текстуру, оберните ее в байтовый буфер и передайте ее в glTexImage с типом GL_UNSIGNED_BYTE. Нет необходимости создавать новый массив из того, что у вас уже есть.

gl.glTexImage2D(GL10.GL_TEXTURE_2D, 0, GL10.GL_RGBA, 1024, 512, 0, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, ByteBuffer.wrap(mRGB));

Intereting Posts
Android espresso testing: пустой набор тестов. Не было найдено никаких тестов Размер иконок для элементов управления одеждой для Android Как отключить автокоррект во вводе HTML на Android? Как отлаживать приложение Android Delphi, когда пользователь закрывает приложение Попытка проверить, существует ли файл во внутреннем хранилище GoogleApiClient onConnected не вызывается, используя в службе Функция увеличения зума внутри прокрутки Ошибка при открытии всплывающего окна при щелчке Facebook login Услуга не зарегистрирована Gradle не удается синхронизировать мой проект в новом Android Studio 2.0 Список всех образов камеры в Android MediaMetadataRetriever setDataSource выбрасывает исключение IllegalArgumentException Нельзя использовать макет ScrollView внутри SlidingUpPanelLayout Xamarin Android Как найти «последнюю страницу» в пейджере просмотра. Или общее число просмотров. Разработка Android Назначение сканера штрих-кода ZXing: set DecodeHintType.ASSUME_GS1