X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fcore%2Fframebuffer.cpp;h=a60b437eff6fbe9e4c9a1eec8e2b6012b35395af;hb=4a639bc5e80fce2467855a9e8f4c6cdff2f0adc0;hp=851b6431b2fb134d470b1116262411af471532be;hpb=a4d83d3748cdde8cf30683d36a040d3dfacfd693;p=libs%2Fgl.git diff --git a/source/core/framebuffer.cpp b/source/core/framebuffer.cpp index 851b6431..a60b437e 100644 --- a/source/core/framebuffer.cpp +++ b/source/core/framebuffer.cpp @@ -156,7 +156,7 @@ void Framebuffer::update() const else if(type==GL_TEXTURE_3D) glFramebufferTexture3D(GL_FRAMEBUFFER, gl_attach_point, type, attch.tex->get_id(), attch.level, attch.layer); else if(type==GL_TEXTURE_CUBE_MAP) - glFramebufferTexture2D(GL_FRAMEBUFFER, gl_attach_point, TextureCube::enumerate_faces(attch.layer), attch.tex->get_id(), attch.level); + glFramebufferTexture2D(GL_FRAMEBUFFER, gl_attach_point, get_gl_cube_face(static_cast(attch.layer)), attch.tex->get_id(), attch.level); } else if(ARB_direct_state_access) glNamedFramebufferTexture(id, gl_attach_point, 0, 0); @@ -273,7 +273,6 @@ void Framebuffer::set_attachment(FrameAttachment attch, Texture &tex, unsigned l 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); } @@ -284,27 +283,23 @@ void Framebuffer::attach(FrameAttachment attch, Texture2DMultisample &tex) 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); + set_attachment(make_typed_attachment(attch, tex.get_format()), tex, level, 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); }