2013-01-25 10 views
6

la funzione glTexImage2D utilizza un puntatore ai dati dell'immagine. Ora, dopo che ho chiamato glGenTextures, glBindTexture, e poi glTexImage2Dposso liberare la memoria assegnata all'immagine dopo la chiamata a glTexImage2D?

di utilizzare texture in OpenGL. Posso liberare la memoria allocata ai dati di immagine ptr? oppure opengl Copia i dati dal puntatore per mantenerli all'interno della GPU dopo aver chiamato in glTexImage2D o usa i miei dati di immagine per la trama?

risposta

11

Sì, si è sicuri di eliminare il puntatore di informazioni una volta fornito a glTexImage2D, lo copierà solo in un punto più vicino alla scheda (come la memoria della scheda grafica) e lo userà da lì.

int *p = getImagePixels(); 

glTexImage2D(GL_TEXTURE..., p); 

delete [] p; 
1

Verificare this similar question per una discussione sulla liberazione di glTexImage2D. Sembrerebbe che tu possa, comunque.

Problemi correlati