X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fframebuffer.cpp;h=8a1a52316f9fa6835e685570f6357d14955389d0;hb=f4f81f1d86d50b29b9a44b237f67c6f5ad8f0523;hp=01fd626598c676a7417f2772f8d72c3b4ae5b700;hpb=4080571d24c1734a9188ee7fac38cf3180325adf;p=libs%2Fgl.git diff --git a/source/core/framebuffer.cpp b/source/core/framebuffer.cpp index 01fd6265..8a1a5231 100644 --- a/source/core/framebuffer.cpp +++ b/source/core/framebuffer.cpp @@ -16,21 +16,11 @@ framebuffer_incomplete::framebuffer_incomplete(const std::string &reason): Framebuffer::Framebuffer(bool s): - FramebufferBackend(s), - dirty(0) -{ - if(s) - { - format = get_system_format(); - get_system_size(width, height); - } -} + FramebufferBackend(s) +{ } Framebuffer::Framebuffer(): - FramebufferBackend(false), - width(0), - height(0), - dirty(0) + FramebufferBackend(false) { } Framebuffer::Framebuffer(FrameAttachment fa): @@ -175,13 +165,18 @@ void Framebuffer::detach(FrameAttachment attch) } } -void Framebuffer::resize(const WindowView &view) +const Texture *Framebuffer::get_attachment(FrameAttachment attch) const { if(attachments.empty()) - throw invalid_operation("Framebuffer::resize"); + return 0; + + int i = format.index(attch); + return (i>=0 ? attachments[i].tex : 0); +} - width = view.get_width(); - height = view.get_height(); +const Texture *Framebuffer::get_attachment(unsigned i) const +{ + return (i