J'ai ce morceau de code
glReadBuffer( GL_FRONT );
glReadPixels( 0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, buffer );
Ce qui fonctionne parfaitement dans tous les GPU Nvidia et AMD que j'ai essayés, mais il échoue dans presque toutes les vidéos intégrées Intel que j'ai essayées. Il fonctionne en fait dans un très ancien 945GME, mais échoue dans tous les autres. Au lieu d'obtenir une capture d'écran, j'obtiens en fait un écran noir.
Si cela aide, je travaille avec le moteur Doom3 et ce code est dérivé du code de capture d'écran intégré. Soit dit en passant, même avec le jeu d'origine, je ne peux pas faire de capture d'écran sur ces appareils Intel de toute façon. Je suppose qu'ils n'implémentent pas correctement la norme ou quelque chose. Y a-t-il une solution à cela?