void Framebuffer::attach(FrameAttachment attch, Texture2D &tex, unsigned level)
{
- tex.allocate(level);
set_attachment(make_typed_attachment(attch, tex.get_format()), tex, level, 0, 0);
}
void Framebuffer::attach(FrameAttachment attch, Texture3D &tex, unsigned layer, unsigned level)
{
- tex.allocate(level);
set_attachment(make_typed_attachment(attch, tex.get_format()), tex, level, layer, 0);
}
void Framebuffer::attach(FrameAttachment attch, TextureCube &tex, TextureCubeFace face, unsigned level)
{
- tex.allocate(level);
set_attachment(make_typed_attachment(attch, tex.get_format()), tex, level, TextureCube::get_face_index(face), 0);
}
void Framebuffer::attach_layered(FrameAttachment attch, Texture3D &tex, unsigned level)
{
static Require _req(ARB_geometry_shader4);
- tex.allocate(level);
set_attachment(make_typed_attachment(attch, tex.get_format()), tex, level, -1, 0);
}
void Framebuffer::attach_layered(FrameAttachment attch, TextureCube &tex, unsigned level)
{
static Require _req(ARB_geometry_shader4);
- tex.allocate(level);
set_attachment(make_typed_attachment(attch, tex.get_format()), tex, level, -1, 0);
}