Store allocated gfx::renderbuffer size

This commit is contained in:
Nikita Lisitsa 2022-11-30 17:26:39 +03:00
parent 182de08811
commit 03976206ce
2 changed files with 8 additions and 0 deletions

View file

@ -2,6 +2,7 @@
#include <psemek/gfx/gl.hpp> #include <psemek/gfx/gl.hpp>
#include <psemek/gfx/pixel.hpp> #include <psemek/gfx/pixel.hpp>
#include <psemek/geom/vector.hpp>
#include <cstddef> #include <cstddef>
@ -30,6 +31,11 @@ namespace psemek::gfx
void reset(); void reset();
geom::vector<std::size_t, 2> 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<std::size_t, 2> const & size); void storage(GLenum internal_format, geom::vector<std::size_t, 2> const & size);
template <typename Pixel> template <typename Pixel>
@ -40,6 +46,7 @@ namespace psemek::gfx
private: private:
GLuint id_; GLuint id_;
geom::vector<std::size_t, 2> size_ = {0, 0};
explicit renderbuffer(std::nullptr_t); explicit renderbuffer(std::nullptr_t);
}; };

View file

@ -51,6 +51,7 @@ namespace psemek::gfx
{ {
bind(); bind();
gl::RenderbufferStorage(target, internal_format, size[0], size[1]); gl::RenderbufferStorage(target, internal_format, size[0], size[1]);
size_ = size;
} }
renderbuffer::renderbuffer(std::nullptr_t) renderbuffer::renderbuffer(std::nullptr_t)