0
Источник заключается в следующем:бесплатно GLUtils.texImage2D
public static int loadTexture (Bitmap bitmap)
{
//long time1 = System.currentTimeMillis();
int[] textureId = new int[1];
GLES20.glGenTextures (1, textureId, 0);
GLES20.glBindTexture (GLES20.GL_TEXTURE_2D, textureId[0]);
GLES20.glTexParameteri (GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameteri (GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameteri (GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri (GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE);
GLES20.glEnable(GLES20.GL_BLEND);
GLES20.glBlendFunc(GLES20.GL_ONE, GLES20.GL_ONE_MINUS_SRC_ALPHA);
try{
GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);
}
catch(Exception ex)
{
ex.printStackTrace();
}
return textureId[0];
}
Я хочу, чтобы переработать растровый ИНТ метода GLUtils.texImage2D (GLES20.GL_TEXTURE_2D, 0, растровый, 0) и свободной памяти, пожалуйста, помогите мне как это сделать?
Я считаю, что при вызове GLUtils.texImage2D (GLES20.GL_TEXTURE_2D, 0, bitmap, 0); битмап копирует массив пикселей в кеш рендеринга OPEN GL. Потому что я вызываю растровое изображение метода после loadTexture (растровое изображение Bitmap). –
Независимо от того, включен ли вызов GLES20.glDeleteTextures (1, textureId, 0), OPEN GL должен освобождать кеш текстурного буфера с помощью textureId? –