Кажется, у меня странная проблема: на одном телефоне две текстуры вообще не загружаются, поскольку они выглядят как белые прямоугольники, однако обе они загружаются на мой телефон.Другая проблема заключается в том, что при возобновлении игры отображается экран загрузки, это прекрасно работает при первом приостановлении работы приложения, но после второго возобновления текстура не загружается на мой телефон ... однако появляются текстуры, загружаемые с экрана загрузки.отлично.
Все текстуры имеют степень 2 и имеют размер 024x1024 ... всего около 20 текстур.
Какие причины могут быть для типа проблемы?
Вот код для перезагрузки ...
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
super.onSurfaceCreated(gl, config);
if(firstTimeCreate) {
load(); //load settings
Assets.Load(this);
firstTimeCreate = false;
} else {
//When screen is resumed....
Assets.ReloadLoadingScreen();
}
Вот где все это - метод загрузки ...
GL10 gl = glGraphics.getGL();
int[] textureIds = new int[1];
gl.glGenTextures(1, textureIds, 0);
textureId = textureIds[0];
InputStream in = null;
try {
in = fileIO.readAsset(fileName);
Bitmap bitmap = BitmapFactory.decodeStream(in);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
setFilters(GL10.GL_LINEAR , GL10.GL_LINEAR);
gl.glBindTexture(GL10.GL_TEXTURE_2D, 0);
width = bitmap.getWidth();
height = bitmap.getHeight();
bitmap.recycle();
} catch(IOException e) {
throw new RuntimeException("Couldn't load texture '" + fileName +"'", e);
} finally {
if(in != null)
try { in.close(); } catch (IOException e) { }
}
и метод связывания ...
public void bind() {
GL10 gl = glGraphics.getGL();
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);
}
Не думаю, что что-то не так с вышесказанным, но, может быть, есть?