Recibí una segfault cuando traté de cargar una imagen de 771x768.glTexImage2D Segfault relacionado con el ancho/alto
Probé con una imagen de 24x24 y 768x768 y funcionó, no hay problema.
¿Se espera esto? ¿Por qué no simplemente falla con gracia con un error GL?
La falla de segmentación se produce en la llamada glTexImage2D. Estoy cargando un archivo binario de PPM, por lo que está empaquetado a 24 bits por píxel. Este número impar combinado con una dimensión impar probablemente produzca una estructura alineada no de 4 bytes (o incluso de 2 bytes) (y hacer referencia fuera de mi memoria intermedia asignada lo suficiente puede ser la causa del error, pero gdb no me muestra una memoria dirección (que podría usar para averiguar si esto es lo que lo causa)).
glTexImage2D(GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, dataptr);
// in this specific case of failure, width = 771, height = 768,
// dataptr contains 1776384 bytes of binary RGB image data (771*768*3 = 1776384)
¿Dónde se produce la segfault? ¿Cómo se ve tu código? – Goz
pregunta actualizada con algunos detalles. Creo que tengo una idea sobre lo que salió mal. Necesita probar más –
Sin embargo, todavía no hay código. – Goz