Eu tenho esse pedaço de código
glReadBuffer( GL_FRONT );
glReadPixels( 0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, buffer );
O que funciona perfeitamente em todas as GPUs da Nvidia e AMD que eu tentei, mas falha em quase todos os vídeos integrados da Intel que eu tentei. Na verdade, ele funciona em um 945GME muito antigo, mas falha em todos os outros. Em vez de obter uma captura de tela, estou recebendo uma tela preta.
Se ajudar, estou trabalhando com o Doom3 Engine e esse código é derivado do código de captura de tela embutido. A propósito, mesmo com o jogo original, não posso capturar a tela nesses dispositivos intel. Meu palpite é que eles não estão implementando o padrão corretamente ou algo assim. Existe uma solução alternativa para isso?