Make gfx::renderbuffer::storage support template pixel types
This commit is contained in:
parent
f40d98cb2f
commit
9dc95c797c
2 changed files with 10 additions and 3 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <psemek/gfx/gl.hpp>
|
#include <psemek/gfx/gl.hpp>
|
||||||
|
#include <psemek/gfx/pixel.hpp>
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
|
|
@ -27,7 +28,13 @@ namespace psemek::gfx
|
||||||
|
|
||||||
void reset();
|
void reset();
|
||||||
|
|
||||||
void storage(GLenum internal_format, GLsizei width, GLsizei height);
|
void storage(GLenum internal_format, geom::vector<std::size_t, 2> const & size);
|
||||||
|
|
||||||
|
template <typename Pixel>
|
||||||
|
void storage(geom::vector<std::size_t, 2> const & size)
|
||||||
|
{
|
||||||
|
storage(pixel_traits<Pixel>::internal_format, size);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
GLuint id_;
|
GLuint id_;
|
||||||
|
|
|
||||||
|
|
@ -47,10 +47,10 @@ namespace psemek::gfx
|
||||||
id_ = 0;
|
id_ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void renderbuffer::storage(GLenum internal_format, GLsizei width, GLsizei height)
|
void renderbuffer::storage(GLenum internal_format, geom::vector<std::size_t, 2> const & size)
|
||||||
{
|
{
|
||||||
bind();
|
bind();
|
||||||
gl::RenderbufferStorage(gl::RENDERBUFFER, internal_format, width, height);
|
gl::RenderbufferStorage(gl::RENDERBUFFER, internal_format, size[0], size[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
renderbuffer::renderbuffer(std::nullptr_t)
|
renderbuffer::renderbuffer(std::nullptr_t)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue