проблема с glreadPixels на iphone - PullRequest
       1

проблема с glreadPixels на iphone

1 голос
/ 15 января 2011

У меня нет проблем с отображением текстуры на экране, но я не могу получить нужные пиксели при печати их из памяти.У меня есть изображение 4x4 PNG с 4 черными пикселями, и я пытаюсь их напечатать.Вот что я делаю:

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;
}

Но я получаю все случайные значения, а не то, которое ожидаю.Кто-нибудь может увидеть, что я делаю не так?

1 Ответ

1 голос
/ 15 января 2011

glReadPixels читает из кадровых буферов, а не текстур. Чтобы получить содержимое объекта текстуры, используйте glGetTexImage: http://www.opengl.org/sdk/docs/man/xhtml/glGetTexImage.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...