- シーンをレンダリングします (デフォルトのレンダーバッファに)
- このシーンから長方形を取得し、そこからテクスチャを作成したい
- glReadPixels() を CPU にダウンさせてから、データを GPU にアップロードすることなく実行したいと思います。
- これは OpenGL ES 2.0 を使用して可能ですか?
- PS - 奇妙な形ではなく、画面の POT 領域を使用したい
すでに動作している GPU->CPU->GPU 実装の疑似コード:
// Render stuff here
byte *magData = glReadPixels();
// Bind the already-generated texture object
BindTexture(GL_TEXTURE0, GL_TEXTURE_2D, alias);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, MAGWIDTH, MAGHEIGHT, 0, GL_RGB, GL_UNSIGNED_BYTE, magData);