オフスクリーン バッファに何かをレンダリングし、 を呼び出してピクセルを「CPU メモリ」に読み込む必要がありますglReadPixels
。私のコードは、Windows で通常の OpenGL にコンパイルするとうまく動作しますが、iOS の OpenGL ES 2.0 で実行するには、GL_ALPHA
(またはGL_LUMINANCE
) テクスチャをGL_RGBA
1 つに置き換える必要がありました。
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
それ以外の
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, width, height, 0, GL_ALPHA, GL_UNSIGNED_BYTE, NULL);
8 ビット テクスチャでコードを実行できませんでした。
しかし、このレンダリングではフルカラーは必要ないため、ピクセルごとに余分な 3 バイトが無駄になります。もう一度試す前に、ここで私の質問:
8 ビット テクスチャへのオフスクリーン レンダリングに成功し、バイトを CPU メモリに読み戻すことに成功した人はいますか? それはまったく可能ですか?