#include "buffer.h" #include "fence.h" #include namespace gl { class pbo : private buffer { std::optional sync; int size = 0; bool data_ready; public: void request_read(int x, int y, int lx, int ly, int pixsize = 4, GLenum format = GL_RGBA, GLenum type = GL_UNSIGNED_BYTE); bool read_data(int lx, int ly, void *data, int pixsize = 4); bool is_busy(); }; }