summaryrefslogtreecommitdiffhomepage
path: root/main/app.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-10-20 21:22:07 +0200
committerStanislaw Halik <sthalik@misaki.pl>2022-10-20 21:22:07 +0200
commit8ee0ff58ef0e09fd510ab0ba7bb9957c5e6461a5 (patch)
treef0d9bac3ef81d0c44b73d0f3648f1f522a3c9496 /main/app.hpp
parent2ff4e6203f7d895d88ab9bb4a4415a884a8f3075 (diff)
only do MSAAA for isometrically projected entities
Diffstat (limited to 'main/app.hpp')
-rw-r--r--main/app.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/main/app.hpp b/main/app.hpp
index a4da922c..b6fb5605 100644
--- a/main/app.hpp
+++ b/main/app.hpp
@@ -14,6 +14,8 @@
#include <Magnum/Timeline.h>
#include <Magnum/Platform/Sdl2Application.h>
#include <Magnum/GL/DebugOutput.h>
+#include <Magnum/GL/Framebuffer.h>
+#include <Magnum/GL/MultisampleTexture.h>
#include <Magnum/ImGuiIntegration/Context.h>
#include <memory>
@@ -42,6 +44,7 @@ private:
void reset_camera_offset();
void update_window_scale(Vector2i window_size);
void recalc_cursor_tile();
+ void recalc_viewport(Vector2i size);
void viewportEvent(ViewportEvent& event) override;
void mousePressEvent(MouseEvent& event) override;
@@ -60,6 +63,7 @@ private:
std::array<std::int16_t, 4> get_draw_bounds() const noexcept;
void drawEvent() override;
+ void draw_msaa();
void draw_world();
void draw_cursor_tile();
void draw_wireframe_quad(global_coords pt);
@@ -89,6 +93,9 @@ private:
[[maybe_unused]] void* _dummy = register_debug_callback();
+ GL::Framebuffer _framebuffer{{{}, windowSize()}};
+ GL::MultisampleTexture2D _msaa_color_texture{};
+
tile_shader _shader;
tile_atlas_ floor1 = loader.tile_atlas("floor-tiles.tga", {44, 4});
tile_atlas_ floor2 = loader.tile_atlas("metal1.tga", {2, 2});