別のスレッドで glReadPixels を呼び出すと、データが返されません。呼び出しスレッドで新しいコンテキストを作成し、メモリをコピーする必要があることを示唆するどこかを読みました。これをどのように正確に行うのですか?
これは私が使用する glReadPixels コードです:
pixels = new BYTE[ 3 * width * height];
glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, pixels);
image = FreeImage_ConvertFromRawBits(pixels, width, height, 3 * width, 24, 0xFF0000, 0x00FF00, 0x0000FF, false);
FreeImage_Save(FIF_PNG, image, pngpath.c_str() , 0);
または、別のコードを使用するよう提案しているこのスレッドを読みましたが (最後を参照)、origX、origY、srcOrigX、srcOrigY とは何かわかりません。