summaryrefslogtreecommitdiff
path: root/src/Util
diff options
context:
space:
mode:
Diffstat (limited to 'src/Util')
-rw-r--r--src/Util/ImageViewer.cpp30
-rw-r--r--src/Util/ImageViewer.hpp10
2 files changed, 20 insertions, 20 deletions
diff --git a/src/Util/ImageViewer.cpp b/src/Util/ImageViewer.cpp
index 9720408..8ff8c57 100644
--- a/src/Util/ImageViewer.cpp
+++ b/src/Util/ImageViewer.cpp
@@ -6,7 +6,7 @@ namespace MC::Util {
ImageViewer::ImageViewer(
const GFX::Image::RawImage& image,
- float window_aspect
+ Real window_aspect
) : m_texture(image),
m_program(
{GFX::Shading::Shader::Type::Vertex, vertex},
@@ -18,9 +18,9 @@ ImageViewer::ImageViewer(
auto view_uniform = m_program.uniform("view_matrix");
auto projection_uniform = m_program.uniform("projection_matrix");
- model_uniform.set(Math::MVP::model({}, {}));
- view_uniform.set(Math::MVP::view({}, {}));
- projection_uniform.set(Math::MVP::orthographic_projection(view_size * window_aspect, view_size, 0.0f, 100.0f));
+ model_uniform.set(Math::MVP::model<F32>({}, {}));
+ view_uniform.set(Math::MVP::view<F32>({}, {}));
+ projection_uniform.set(Math::MVP::orthographic_projection<F32>(view_size * window_aspect, view_size, 0.0f, 100.0f));
m_program.unbind();
}
@@ -35,23 +35,23 @@ void ImageViewer::render() const {
m_program.unbind();
}
-GFX::Mesh ImageViewer::create_mesh(float window_aspect, uint32_t image_width, uint32_t image_height) {
- auto aspect = (float)image_width / image_height;
- float max_size = view_size * 0.8f;
- float width = max_size * std::min(1.0f, aspect);
- float height = max_size * std::min(1.0f, 1/aspect);
+GFX::Mesh ImageViewer::create_mesh(Real window_aspect, U32 image_width, U32 image_height) {
+ auto aspect = (Real)image_width / image_height;
+ Real max_size = view_size * 0.8;
+ Real width = max_size * std::min(1.0, aspect);
+ Real height = max_size * std::min(1.0, 1/aspect);
- float x = (view_size * window_aspect - width) / 2.0f;
- float y = (view_size - height) / 2.0f;
+ Real x = (view_size * window_aspect - width) / 2.0f;
+ Real y = (view_size - height) / 2.0f;
return {{
- std::vector<Vector<3>>{
+ std::vector<Vector<3, F32>>{
{x, y, 0.0f}, // top left
{x, y + height, 0.0f}, // bottom left
{x + width, y + height, 0.0f}, // bottom right
{x + width, y, 0.0f} // top right
},
- std::vector<Vector<2>>{
+ std::vector<Vector<2, F32>>{
{0.0f, 0.0f},
{0.0f, 1.0f},
{1.0f, 1.0f},
@@ -60,7 +60,7 @@ GFX::Mesh ImageViewer::create_mesh(float window_aspect, uint32_t image_width, ui
}, {0, 1, 2, 0, 2, 3}};
}
-const char* ImageViewer::vertex = R"v(
+const Char* ImageViewer::vertex = R"v(
#version 330 core
uniform mat4 model_matrix;
@@ -77,7 +77,7 @@ void main() {
frag_tex_coord = tex_coord;
})v";
-const char* ImageViewer::fragment = R"f(
+const Char* ImageViewer::fragment = R"f(
#version 330 core
uniform sampler2D image;
diff --git a/src/Util/ImageViewer.hpp b/src/Util/ImageViewer.hpp
index 16ef2dd..1e18103 100644
--- a/src/Util/ImageViewer.hpp
+++ b/src/Util/ImageViewer.hpp
@@ -10,16 +10,16 @@ namespace MC::Util {
class ImageViewer {
public:
- explicit ImageViewer(const GFX::Image::RawImage& image, float window_aspect);
+ explicit ImageViewer(const GFX::Image::RawImage& image, Real window_aspect);
void render() const;
private:
- static GFX::Mesh create_mesh(float window_aspect, uint32_t image_width, uint32_t image_height);
+ static GFX::Mesh create_mesh(Real window_aspect, U32 image_width, U32 image_height);
- static constexpr float view_size = 1000.0f;
+ static constexpr Real view_size = 1000.0f;
- static const char* vertex;
- static const char* fragment;
+ static const Char* vertex;
+ static const Char* fragment;
GFX::BindableMesh m_mesh;
GFX::Shading::Program m_program;