1
画面にテクスチャを描画するのに問題はありませんが、メモリから印刷するときは右のピクセルを取得できません。私は4x4ピクセルの4x4 PNGイメージを持っており、それらを印刷しようとしています。これは私が行うことです:iphoneのglreadPixelsに関する問題
glBindTexture(GL_TEXTURE_2D, m_textureId);
const int size = m_width * m_height * 4;
GLubyte pixels[size];
glReadPixels(0, 0, m_width, m_height, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
if(glGetError() != GL_NO_ERROR)
assert(false && "opengl error");
for(int index = 0; index < size; index+=4)
{
cout << "red " << (unsigned)pixels[index+0] << endl;
cout << "green " << (unsigned)pixels[index+1] << endl;
cout << "blue " << (unsigned)pixels[index+2] << endl;
}
しかし、私はすべてのランダムな値を取得し、私が期待するものではありません。誰でも私が間違っていることを見ることができますか?
hahaの説明がたくさんあります:) – Merni
しかし、glGetTexImageはopenglに存在しますか? – Merni
@Merni right、OpenGL-ESにはglGetTexImageはありません。とにかく、プログラムが提供するデータからテクスチャが作成されるので、いつでもプログラムがそのデータにアクセスできると期待できるので、これはほとんど必要ありません。テクスチャがレンダリングによって作成され、glCopyTexImageがglReadPixelsをglCopyTexImageを使用する同じポイントで使用できる場合は、 – datenwolf