From 03976206ce608de04f741c5b31c1e1a25b70b519 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 30 Nov 2022 17:26:39 +0300 Subject: [PATCH] Store allocated gfx::renderbuffer size --- libs/gfx/include/psemek/gfx/renderbuffer.hpp | 7 +++++++ libs/gfx/source/renderbuffer.cpp | 1 + 2 files changed, 8 insertions(+) diff --git a/libs/gfx/include/psemek/gfx/renderbuffer.hpp b/libs/gfx/include/psemek/gfx/renderbuffer.hpp index 86ed9c43..483366ff 100644 --- a/libs/gfx/include/psemek/gfx/renderbuffer.hpp +++ b/libs/gfx/include/psemek/gfx/renderbuffer.hpp @@ -2,6 +2,7 @@ #include #include +#include #include @@ -30,6 +31,11 @@ namespace psemek::gfx void reset(); + geom::vector size() const { return size_; } + + std::size_t width() const { return size_[0]; } + std::size_t height() const { return size_[1]; } + void storage(GLenum internal_format, geom::vector const & size); template @@ -40,6 +46,7 @@ namespace psemek::gfx private: GLuint id_; + geom::vector size_ = {0, 0}; explicit renderbuffer(std::nullptr_t); }; diff --git a/libs/gfx/source/renderbuffer.cpp b/libs/gfx/source/renderbuffer.cpp index 7b85639e..de42b33c 100644 --- a/libs/gfx/source/renderbuffer.cpp +++ b/libs/gfx/source/renderbuffer.cpp @@ -51,6 +51,7 @@ namespace psemek::gfx { bind(); gl::RenderbufferStorage(target, internal_format, size[0], size[1]); + size_ = size; } renderbuffer::renderbuffer(std::nullptr_t)