light/modules/renderer/public/texture.hpp
light7734 cd886aa8c9
Some checks reported errors
continuous-integration/drone/push Build was killed
refactor: flatten directory structure
2025-07-20 04:46:15 +03:30

39 lines
604 B
C++

#pragma once
namespace Assets {
class TextureAsset;
}
namespace lt {
class SharedContext;
class Texture
{
public:
static Ref<Texture> create(
const Ref<Assets::TextureAsset> &asset,
const Ref<SharedContext> &shared_context
);
virtual ~Texture() = default;
Texture(Texture &&) = default;
auto operator=(Texture &&) -> Texture & = default;
Texture(const Texture &) = delete;
auto operator=(const Texture &) -> Texture & = delete;
virtual void bind(unsigned int slot = 0) = 0;
virtual auto get_texture() -> void * = 0;
protected:
Texture() = default;
};
} // namespace lt