J'ai une texture de rendu attaché au FBO.

Je dois récupérer les données de la texture, et j'ai deux manière de faire ca :

comme ca (version 1):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
glBindTexture(GL_TEXTURE_2D, img);
glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, data[j]);
ou comme ça ( version 2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
glReadPixels(0, 0, W, H,GL_RGBA,GL_UNSIGNED_BYTE,data[j]);
j'aurai tendance à penser que la version 1 est plus rapide que la 2 ( j'ai lu à de nombreux endroit que readpixels est lent.)
J'ai fait quelque tests pour vérifier et la version 2 semblent très légèrement plus rapide que la version 1.

Qu'en pensez-vous?