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)