summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--main/draw.cpp23
-rw-r--r--main/main-impl.hpp7
2 files changed, 2 insertions, 28 deletions
diff --git a/main/draw.cpp b/main/draw.cpp
index cab331ff..91000e81 100644
--- a/main/draw.cpp
+++ b/main/draw.cpp
@@ -6,7 +6,6 @@
#include <Corrade/Containers/ArrayView.h>
#include <Magnum/GL/DefaultFramebuffer.h>
#include <Magnum/GL/Renderer.h>
-#include <Magnum/GL/RenderbufferFormat.h>
#include <Magnum/Math/Color.h>
#include <algorithm>
#include <thread>
@@ -15,21 +14,6 @@ namespace floormat {
void main_impl::recalc_viewport(Vector2i size) noexcept
{
- if (_screen.fb.id())
- {
- _screen.fb.detach(GL::Framebuffer::ColorAttachment{0});
- _screen.fb.detach(GL::Framebuffer::BufferAttachment::Depth);
- }
-
- _screen.fb = GL::Framebuffer{{{}, size}};
- _screen.color = GL::Renderbuffer{};
- _screen.color.setStorage(GL::RenderbufferFormat::RGBA8, size);
- _screen.depthstencil = GL::Renderbuffer{};
- _screen.depthstencil.setStorage(GL::RenderbufferFormat::Depth24Stencil8, size);
-
- _screen.fb.attachRenderbuffer(GL::Framebuffer::ColorAttachment{0}, _screen.color);
- _screen.fb.attachRenderbuffer(GL::Framebuffer::BufferAttachment::DepthStencil, _screen.depthstencil);
-
update_window_state();
_shader.set_scale(Vector2{size});
GL::defaultFramebuffer.setViewport({{}, size });
@@ -46,8 +30,6 @@ void main_impl::recalc_viewport(Vector2i size) noexcept
GL::Renderer::setDepthFunction(R::DepthFunction::Greater);
GL::Renderer::setScissor({{}, size});
- _screen.fb.bind();
-
// -- user--
app.on_viewport_event(size);
}
@@ -101,7 +83,7 @@ void main_impl::draw_world() noexcept
}
GL::Renderer::enable(GL::Renderer::Feature::DepthTest);
- _screen.fb.clearDepth(0);
+ GL::defaultFramebuffer.clearDepthStencil(0, 0);
for (std::int16_t y = miny; y <= maxy; y++)
for (std::int16_t x = minx; x <= maxx; x++)
{
@@ -206,14 +188,13 @@ void main_impl::drawEvent()
{
_shader.set_tint({1, 1, 1, 1});
const auto clear_color = 0x222222ff_rgbaf;
- _screen.fb.clearColor(0, clear_color);
+ GL::defaultFramebuffer.clearColor(clear_color);
draw_world();
draw_anim();
GL::Renderer::disable(GL::Renderer::Feature::DepthTest);
}
app.draw();
- GL::Framebuffer::blit(_screen.fb, GL::defaultFramebuffer, {{}, windowSize()}, GL::FramebufferBlit::Color);
GL::Renderer::flush();
do_update();
diff --git a/main/main-impl.hpp b/main/main-impl.hpp
index e923306f..cc17f9bc 100644
--- a/main/main-impl.hpp
+++ b/main/main-impl.hpp
@@ -12,8 +12,6 @@
#include <Magnum/Timeline.h>
#include <Magnum/Math/Range.h>
#include <Magnum/GL/DebugOutput.h>
-#include <Magnum/GL/Framebuffer.h>
-#include <Magnum/GL/Renderbuffer.h>
#include <Magnum/Platform/Sdl2Application.h>
namespace floormat {
@@ -78,11 +76,6 @@ private:
tile_shader _shader;
std::vector<clickable<anim_atlas, scenery>> _clickable_scenery;
struct world _world{};
-
- struct {
- GL::Framebuffer fb{NoCreate};
- GL::Renderbuffer color{NoCreate}, depthstencil{NoCreate};
- } _screen;
Magnum::Timeline timeline;
floor_mesh _floor_mesh;
wall_mesh _wall_mesh;