Actualmente estoy escribiendo una aplicación de Android que funciona con OpenGL ES 1.1. Funcionó bien en mi HTC Desire (Android 2.3.7) donde lo desarrollé. Ahora quería probarlo en un Nexus 7 pero solo muestra una pantalla negra. Descubrí que todas las texturas simplemente se vuelven negras. En las partes donde no se representa ningún objeto ni textura, obtengo el color de fondo (casi) negro.Texturas que solo se muestran en algunos dispositivos
Así que mi pregunta es ¿por qué las texturas se procesan bien en algunos dispositivos y no en otros?
Las texturas son todas cuadradas con una potencia de tamaño de 2 (es decir, 512x512, 1024x1024). Estos son los ajustes que se utilizan cuando se crean las texturas:
gl.glBindTexture(GL10.GL_TEXTURE_2D, getTextureId());
// Create Nearest Filtered Texture
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,
GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,
GL10.GL_LINEAR);
// Different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,
GL10.GL_CLAMP_TO_EDGE);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,
GL10.GL_REPEAT);
gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, /*GL10.GL_REPLACE*/ GL10.GL_MODULATE);
// Use the Android GLUtils to specify a two-dimensional texture image
// from our bitmap
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
Qué puedo tratar de conseguir las texturas prestados en ambos dispositivos?
así que necesito una carpeta adicional "drawables-nodpi"? Hasta ahora solo tengo ldpi, mdpi, hdpi y xhdpi ... Aunque eran todos ... – evident
Ahh lo encontré: necesito una carpeta drawable-tvdpi con las texturas ... Cuando creo una carpeta con este nombre y pon las texturas ahí, funciona bien ... :) ¡Gracias! – evident
Cualquier cosa que coloque en una carpeta llamada 'drawable-nodpi' nunca se escala. Entonces una textura de 1024x1024 siempre será 1024x1024. Si solo está volcando la misma textura en 5 directorios diferentes, eso es realmente un desperdicio @vidente. – Tim