Copy GPU->CPU : Qui sera le plus rapide
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:
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:
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?