-#include <msp/core/raii.h>
#include <msp/gl/extensions/arb_direct_state_access.h>
#include <msp/gl/extensions/arb_texture_storage.h>
#include <msp/gl/extensions/msp_texture1d.h>
glTexImage1D(target, level, fmt, get_level_size(level), 0, comp, type, data);
allocated |= 1<<level;
- if(auto_gen_mipmap && level==0)
- {
- generate_mipmap();
- allocated |= (1<<levels)-1;
- }
-}
-
-void Texture1D::image(unsigned level, PixelComponents comp, DataType type, const void *data)
-{
- if(comp!=get_components(format) || type!=get_component_type(format))
- throw incompatible_data("Texture1D::image");
- image(level, data);
}
void Texture1D::sub_image(unsigned level, int x, unsigned wd, const void *data)
bind_scratch();
glTexSubImage1D(target, level, x, wd, comp, type, data);
}
-
- if(auto_gen_mipmap && level==0)
- generate_mipmap();
-}
-
-void Texture1D::sub_image(unsigned level, int x, unsigned wd, PixelComponents comp, DataType type, const void *data)
-{
- if(comp!=get_components(format) || type!=get_component_type(format))
- throw incompatible_data("Texture1D::sub_image");
- sub_image(level, x, wd, data);
}
void Texture1D::image(const Graphics::Image &img, unsigned lv)
return width>>level;
}
-UInt64 Texture1D::get_data_size() const
+uint64_t Texture1D::get_data_size() const
{
return id ? width*get_pixel_size(storage_fmt) : 0;
}