Sto cercando di aggiungere un po 'efects alla telecamera in Android, ho trovato alcune cose su internet, ma sono rimasto bloccato durante la creazione della trama,int array per tessitura opengl in Android
Io uso il funcion decodeYUV420SP () che mi restituisce una matrice RGB int [larghezza * altezza] con i valori esadecimali in ciascuna posizione dell'array,
Ora, voglio creare una trama openGL di questo array ma non so come, posso convertire ogni valore esadecimale al suo R_G_B separato e metterlo in opengl ma non funziona Io faccio qualcosa di simile:
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
}
per convertire il valore esadecimale per RGBA (da 0 a 255)
E faccio questo per convertirlo alla texture 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);
Tuttavia qualcosa è worng, perche 'non lo fa lavoro ...
Qualche idea?