У меня нет проблем с отображением текстуры на экране, но я не могу получить нужные пиксели при печати их из памяти.У меня есть изображение 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;
}
Но я получаю все случайные значения, а не то, которое ожидаю.Кто-нибудь может увидеть, что я делаю не так?