Saya punya kode ini
glReadBuffer( GL_FRONT );
glReadPixels( 0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, buffer );
Yang bekerja dengan sempurna di semua GPU Nvidia dan AMD yang saya coba, tetapi gagal di hampir setiap video built-in Intel yang saya coba. Ini sebenarnya bekerja di 945GME yang sangat lama, tetapi gagal di semua yang lain. Alih-alih mendapatkan tangkapan layar, saya malah mendapatkan layar hitam.
Jika itu membantu, saya bekerja dengan Mesin Doom3, dan kode itu berasal dari kode tangkapan layar bawaan. Ngomong-ngomong, bahkan dengan game aslinya aku toh tidak bisa melakukan screen capture pada perangkat intel itu. Dugaan saya adalah bahwa mereka tidak menerapkan standar dengan benar atau sesuatu. Apakah ada solusi untuk ini?