Add gfx::renderbuffer::target

This commit is contained in:
Nikita Lisitsa 2022-11-30 17:25:13 +03:00
parent 144916adae
commit 182de08811
3 changed files with 7 additions and 5 deletions

View file

@ -18,6 +18,8 @@ namespace psemek::gfx
renderbuffer(renderbuffer const &) = delete;
renderbuffer & operator = (renderbuffer const &) = delete;
static constexpr GLenum target = gl::RENDERBUFFER;
static renderbuffer null();
GLuint id() const { return id_; }

View file

@ -106,7 +106,7 @@ namespace psemek::gfx
void framebuffer::color(renderbuffer const & rb, int attachment)
{
bind();
gl::FramebufferRenderbuffer(gl::DRAW_FRAMEBUFFER, gl::COLOR_ATTACHMENT0 + attachment, gl::RENDERBUFFER, rb.id());
gl::FramebufferRenderbuffer(gl::DRAW_FRAMEBUFFER, gl::COLOR_ATTACHMENT0 + attachment, rb.target, rb.id());
}
void framebuffer::depth(texture_2d const & tex)
@ -136,7 +136,7 @@ namespace psemek::gfx
void framebuffer::depth(renderbuffer const & rb)
{
bind();
gl::FramebufferRenderbuffer(gl::DRAW_FRAMEBUFFER, gl::DEPTH_ATTACHMENT, gl::RENDERBUFFER, rb.id());
gl::FramebufferRenderbuffer(gl::DRAW_FRAMEBUFFER, gl::DEPTH_ATTACHMENT, rb.target, rb.id());
}
void framebuffer::depth_stencil(texture_2d const & tex)
@ -166,7 +166,7 @@ namespace psemek::gfx
void framebuffer::depth_stencil(renderbuffer const & rb)
{
bind();
gl::FramebufferRenderbuffer(gl::DRAW_FRAMEBUFFER, gl::DEPTH_STENCIL_ATTACHMENT, gl::RENDERBUFFER, rb.id());
gl::FramebufferRenderbuffer(gl::DRAW_FRAMEBUFFER, gl::DEPTH_STENCIL_ATTACHMENT, rb.target, rb.id());
}
GLenum framebuffer::status() const

View file

@ -37,7 +37,7 @@ namespace psemek::gfx
void renderbuffer::bind() const
{
gl::BindRenderbuffer(gl::RENDERBUFFER, id_);
gl::BindRenderbuffer(target, id_);
}
void renderbuffer::reset()
@ -50,7 +50,7 @@ namespace psemek::gfx
void renderbuffer::storage(GLenum internal_format, geom::vector<std::size_t, 2> const & size)
{
bind();
gl::RenderbufferStorage(gl::RENDERBUFFER, internal_format, size[0], size[1]);
gl::RenderbufferStorage(target, internal_format, size[0], size[1]);
}
renderbuffer::renderbuffer(std::nullptr_t)