#include <msp/datafile/objectloader.h>
#include <msp/graphics/image.h>
-#include "gl.h"
#include "pixelformat.h"
#include "resource.h"
*/
class Texture: public Resource
{
+ friend class Framebuffer;
+ friend class PipelineState;
protected:
class Loader: public DataFile::CollectionObjectLoader<Texture>
{
};
unsigned id;
- GLenum target;
+ unsigned target;
PixelFormat format;
PixelFormat storage_fmt;
FormatSwizzle swizzle;
static const int swizzle_orders[];
static Texture *scratch_binding;
- Texture(GLenum, ResourceManager * = 0);
+ Texture(unsigned, ResourceManager * = 0);
Texture(const Texture &);
Texture &operator=(const Texture &);
public:
void generate_id();
void set_format(PixelFormat);
void apply_swizzle();
- void set_parameter_i(GLenum, int) const;
+ void set_parameter_i(unsigned, int) const;
public:
PixelFormat get_format() const { return format; }
with the defined storage. Semantics depend on the type of texture. */
virtual void image(const Graphics::Image &, unsigned = 0) = 0;
- GLenum get_target() const { return target; }
- unsigned get_id() const { return id; }
-
virtual std::uint64_t get_data_size() const { return 0; }
void set_debug_name(const std::string &);