Próbuję dodać kilka Efects do aparatu w Androidzie, Znalazłem kilka rzeczy na internecie, ale utknąłem przy tworzeniu tekstury,int array OpenGL tekstury w android
używam función decodeYUV420SP (), która zwraca mi int [szerokość * wysokość] tablicy RGB z wartościami szesnastkowymi do każdej pozycji tablicy,
Teraz chcę utworzyć teksturę OpenGL tej tablicy, ale nie wiem jak, mogę przekonwertować każdą wartość szesnastkową do R_G_B oddzielić i umieścić go w opengl, ale to nie działa Zrobić coś takiego:
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
}
Aby przeliczyć wartość hex do RGBA (od 0 do 255)
I to zrobić, aby przekształcić go OpenGL Tekstura:
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);
Jednak coś jest worng, bo to nie robi praca ...
Każdy pomysł?