#include <algorithm>
#include <msp/gl/extensions/ext_texture3d.h>
+#include <msp/gl/extensions/ext_unpack_subimage.h>
#include "gl.h"
#include "pixelformat.h"
#include "pixelstore.h"
{
PixelStore pstore;
unsigned stride = img.get_stride();
- unsigned ncomp = get_component_count(pixelformat_from_graphics(img.get_format()));
+ unsigned ncomp = get_component_count(pixelformat_from_image(img));
pstore.set_canvas_size(img.get_stride()/ncomp, 0);
pstore.set_alignment(min(stride&~(stride-1), 8U));
return pstore;
void PixelStore::set_canvas_size(unsigned w, unsigned h)
{
+ static Require _req(EXT_unpack_subimage);
row_length = w;
image_height = h;
update_parameter(SIZE);
void PixelStore::set_origin(unsigned x, unsigned y, unsigned z)
{
+ static Require _req(EXT_unpack_subimage);
if(z>0)
static Require _req3d(EXT_texture3D);
skip_pixels = x;