24 lines
527 B
C++
Executable File

#pragma once
#include "Deer/Tools/Memory.h"
#include <string>
namespace Deer {
class Texture {
public:
virtual ~Texture() = default;
virtual unsigned int getWidth() = 0;
virtual unsigned int getHeight() = 0;
virtual unsigned int getTextureID() = 0;
virtual void bind(unsigned int slot) = 0;
virtual void unbind(unsigned int slot) = 0;
};
class Texture2D : public Texture {
public:
static Texture2D* create(const uint8_t* data, uint32_t width, uint32_t height, int channels);
};
} // namespace Deer