X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fframebuffer.cpp;h=d6fa973960fbe169f0aa31e482fbb2029b084166;hb=ada4b7614137221b64a00f31fde1498064e9fb19;hp=6e7d9dc9971878a7647f26ecf49be6f10fd54712;hpb=2e1a887ef0d4a0af8b8aa781619cff6d75692e14;p=libs%2Fgl.git diff --git a/source/core/framebuffer.cpp b/source/core/framebuffer.cpp index 6e7d9dc9..d6fa9739 100644 --- a/source/core/framebuffer.cpp +++ b/source/core/framebuffer.cpp @@ -131,9 +131,9 @@ void Framebuffer::update() const vector color_bufs; color_bufs.reserve(format.size()); unsigned i = 0; - for(const UInt16 *j=format.begin(); j!=format.end(); ++j, ++i) + for(FrameAttachment a: format) { - GLenum gl_attach_point = get_gl_attachment(static_cast(*j)); + GLenum gl_attach_point = get_gl_attachment(a); if(dirty&(1<1) @@ -201,33 +203,33 @@ void Framebuffer::update() const void Framebuffer::check_size() { bool first = true; - for(vector::iterator i=attachments.begin(); i!=attachments.end(); ++i) - if(i->tex) + for(Attachment &a: attachments) + if(a.tex) { - GLenum type = i->tex->get_target(); + GLenum type = a.tex->get_target(); unsigned w = 0; unsigned h = 0; if(type==GL_TEXTURE_2D) { - Texture2D *tex = static_cast(i->tex); - w = max(tex->get_width()>>i->level, 1U); - h = max(tex->get_height()>>i->level, 1U); + Texture2D *tex = static_cast(a.tex); + w = max(tex->get_width()>>a.level, 1U); + h = max(tex->get_height()>>a.level, 1U); } else if(type==GL_TEXTURE_2D_MULTISAMPLE) { - Texture2DMultisample *tex = static_cast(i->tex); + Texture2DMultisample *tex = static_cast(a.tex); w = tex->get_width(); h = tex->get_height(); } else if(type==GL_TEXTURE_3D || type==GL_TEXTURE_2D_ARRAY) { - Texture3D *tex = static_cast(i->tex); - w = max(tex->get_width()>>i->level, 1U); - h = max(tex->get_height()>>i->level, 1U); + Texture3D *tex = static_cast(a.tex); + w = max(tex->get_width()>>a.level, 1U); + h = max(tex->get_height()>>a.level, 1U); } else if(type==GL_TEXTURE_CUBE_MAP) { - w = max(static_cast(i->tex)->get_size()>>i->level, 1U); + w = max(static_cast(a.tex)->get_size()>>a.level, 1U); h = w; } @@ -254,21 +256,23 @@ void Framebuffer::set_attachment(FrameAttachment attch, Texture &tex, unsigned l throw incompatible_data("Framebuffer::attach"); unsigned i = 0; - for(const UInt16 *j=format.begin(); j!=format.end(); ++j, ++i) - if(*j==attch) + for(FrameAttachment a: format) + { + if(a==attch) { attachments[i].set(tex, level, layer); dirty |= 1<