8#include "Core/Drawable.hpp"
9#include "Core/Program.hpp"
10#include "Core/Texture.hpp"
11#include "Core/UniformBuffer.hpp"
12#include "Core/VertexArray.hpp"
14#include "Util/AssetStore.hpp"
15#include "Util/Transform.hpp"
33 explicit Image(
const std::string &filepath);
42 glm::vec2
GetSize()
const override {
return m_Size; };
66 void InitVertexArray();
67 void InitUniformBuffer();
69 static constexpr int UNIFORM_SURFACE_LOCATION = 0;
71 static std::unique_ptr<Core::Program> s_Program;
72 static std::unique_ptr<Core::VertexArray> s_VertexArray;
73 std::unique_ptr<Core::UniformBuffer<Core::Matrices>> m_UniformBuffer;
78 std::unique_ptr<Core::Texture> m_Texture =
nullptr;
Definition Drawable.hpp:14
A class template for managing assets.
Definition AssetStore.hpp:20
glm::vec2 GetSize() const override
Retrieves the size of the image.
Definition Image.hpp:42
void Draw(const Core::Matrices &data) override
Draws the image with a given transform and z-index.
void SetImage(const std::string &filepath)
Sets the image to the specified file path.
Image(const std::string &filepath)
Constructor that takes a file path to the image.
Useful tools for development.
Definition Animation.hpp:12
Definition Drawable.hpp:9