Существует ли функция, аналогичная glReadPixels
, которая может записывать содержимое непосредственно в выходной поток?Я пытаюсь избежать копирования любых данных.В настоящее время я выделяю vector
, а затем должен записать это vector
в поток следующим образом:
std::array<unsigned char, 3 * height * width> data;
glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, data.data());
stream.write(reinterpret_cast<const char *>(&data_[0]), data_.size() * sizeof(unsigned char));