From dc2af6a6fb7ae3cf1b9f917058889329d4652491 Mon Sep 17 00:00:00 2001 From: Mel Date: Mon, 24 Oct 2022 00:40:08 +0200 Subject: Image viewer utility --- src/Util/ImageViewer.hpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/Util/ImageViewer.hpp (limited to 'src/Util/ImageViewer.hpp') diff --git a/src/Util/ImageViewer.hpp b/src/Util/ImageViewer.hpp new file mode 100644 index 0000000..d583aa8 --- /dev/null +++ b/src/Util/ImageViewer.hpp @@ -0,0 +1,35 @@ +#pragma once + +#include "../GFX/Image/RawImage.hpp" +#include "../GFX/Binder.hpp" +#include "../GFX/Texture.hpp" +#include "../GFX/Shading/Program.hpp" + +namespace MC::Util { + +class ImageViewer { +public: + explicit ImageViewer( + GFX::Image::RawImage& image + ) : m_texture(image), + m_program( + {GFX::Shading::Shader::Type::Vertex, ImageViewer::vertex}, + {GFX::Shading::Shader::Type::Fragment, ImageViewer::fragment} + ), + m_mesh(GFX::Binder::load(default_mesh)) {}; + + void render(); +private: + static GFX::Mesh create_default_mesh(); + + static inline GFX::Mesh default_mesh = create_default_mesh(); + + static const char* vertex; + static const char* fragment; + + MC::GFX::BindableMesh m_mesh; + MC::GFX::Shading::Program m_program; + MC::GFX::Texture m_texture; +}; + +} \ No newline at end of file -- cgit 1.4.1