Attualmente sto scrivendo un'applicazione Android che funziona con OpenGL ES 1.1. Ha funzionato bene sul mio HTC Desire (Android 2.3.7) in cui l'ho sviluppato. Ora volevo testarlo su un Nexus 7 ma mostra solo uno schermo nero. Ho scoperto che tutte le trame sono semplicemente rese nere. Sulle parti in cui non viene eseguito il rendering di alcun oggetto e nessuna trama, ottengo il colore di sfondo (quasi) nero.Textures che mostrano solo su alcuni dispositivi
Quindi la mia domanda è: perché le trame sono visualizzate bene su alcuni dispositivi e non su altri?
Le trame sono tutte quadrate con una potenza di 2 dimensioni (ad esempio 512x512, 1024x1024). Queste sono le impostazioni utilizzate quando si creano le texture:
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);
Cosa posso cercare di ottenere le texture resi su entrambi i dispositivi?
quindi ho bisogno di una cartella extra "drawables-nodpi"? Fino ad ora ho solo ldpi, mdpi, hdpi e xhdpi ... Anche se erano tutti ... – evident
Ah ho trovato: ho bisogno di una cartella drawable-tvdpi con le trame ... Quando creo una cartella con questo nome e metti le trame lì funziona bene ... :) Grazie! – evident
Tutto ciò che viene inserito in una cartella chiamata 'drawable-nodpi' non viene mai ridimensionato. Quindi una trama 1024x1024 sarà sempre 1024x1024. Se stai semplicemente scaricando la stessa texture in 5 diverse directory che è davvero sprecone @evident. – Tim