Obtengo texturas blancas en la variante de la galaxia de Samsung, pero en los otros teléfonos que probé las texturas funcionan bien. Así que mi pregunta es ¿cuál es el sospechoso habitual que causa tal comportamiento? ¿La variante galaxia tiene algún hardware especial y le falta algo?Android opengl texturas blancas en la variante Samsung Galaxy
Mi código de la textura de carga es este
GLuint texture;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glPixelStorei(GL_UNPACK_ALIGNMENT, 2);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,GL_MODULATE);
if(alpha)glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*) image_data);
else glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, (GLvoid*) image_data);
Y el dibujo está sucediendo como de costumbre con GL_TRIANGLES
* No tengo el dispositivo real frente a mí, así que no puedo hacer glGetError
¿Se puede garantizar que las texturas tengan un tamaño de Potencia de 2? Si obtiene sus datos de una fábrica de mapas de bits, puede escalarlos con la densidad de la pantalla, lo que provocará que las imágenes de origen de PO2 se conviertan en NPO2. – Tim
Sí, las texturas son pot y no las obtengo de Bitmap Factory. De hecho, las estoy cargando desde C++ (accediendo al apk) pero no creo que haya problema, ya que solo las cosas de C++ no se abren, si el problema estaba ahí. lo tendría en todos los dispositivos. – SteveL
¿Son todas las texturas blancas o solo algunas de ellas? ¿Son todos RGBA, RGB o mixtos? ¿Por qué usas una alineación de desempaquetado de 2? – Tim