Ho ottenuto un segfault quando ho provato a caricare un'immagine 771x768.glTexImage2D Segfault correlato alla larghezza/altezza
Provato con un'immagine 24x24 e 768x768 e hanno funzionato, nessun problema.
È previsto? Perché non dovrebbe fallire con grazia con un errore GL?
L'errore di segmentazione si verifica nella chiamata glTexImage2D. Sto caricando un file binario PPM in modo che sia pieno di 24 bit per pixel. Questo numero dispari combinato con una dimensione dispari produce probabilmente una struttura allineata non a 4 byte (o anche a 2 byte) (e il riferimento al di fuori del mio buffer assegnato esattamente può essere la causa dell'errore ma gdb non mi mostra una memoria indirizzo (che potrei usare per scoprire se questo è ciò che 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)
Dove si verifica il segfault? Com'è il tuo codice? – Goz
domanda aggiornata con alcuni dettagli. Penso di avere un'idea di cosa è andato storto. Hai bisogno di testare di più. –
Ancora nessun codice però. – Goz