Open source Star Ruler 2 source code!
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
#include "vec2.h"
|
||||
#include "image.h"
|
||||
#include "rect.h"
|
||||
#include "render_state.h"
|
||||
|
||||
namespace render {
|
||||
|
||||
enum TextureType {
|
||||
TT_2D,
|
||||
TT_Cubemap
|
||||
};
|
||||
|
||||
class Texture {
|
||||
public:
|
||||
TextureType type;
|
||||
vec2i size;
|
||||
bool loaded;
|
||||
bool hasMipMaps;
|
||||
mutable RenderState prevRenderState;
|
||||
|
||||
virtual bool isPixelActive(vec2i px) const = 0;
|
||||
|
||||
virtual void loadStart(Image& image, bool mipmap = true, bool cachePixels = false, unsigned lod = 0) = 0;
|
||||
virtual void loadPartial(Image& image, const recti& pixels, bool cachePixels = false, unsigned lod = 0) = 0;
|
||||
virtual void loadFinish(bool mipmap, unsigned lod = 0) = 0;
|
||||
|
||||
virtual void load(Image& image, bool mipmap = true, bool cachePixels = false) = 0;
|
||||
virtual void save(Image& image) const = 0;
|
||||
virtual void bind() = 0;
|
||||
virtual unsigned getID() const = 0;
|
||||
|
||||
virtual unsigned getTextureBytes() const = 0;
|
||||
|
||||
virtual ~Texture() {}
|
||||
};
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user