From a106932153e2d35354e475ece67af38d04863fb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 10 Jan 2015 13:23:51 +0100 Subject: [PATCH] Making use of the shorter *Framebuffer::read(). I like that! --- src/Magnum/Test/FramebufferGLTest.cpp | 26 ++++++++++---------------- src/Magnum/Test/MeshGLTest.cpp | 8 ++------ 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/Magnum/Test/FramebufferGLTest.cpp b/src/Magnum/Test/FramebufferGLTest.cpp index 1b5923c5a..d056e1499 100644 --- a/src/Magnum/Test/FramebufferGLTest.cpp +++ b/src/Magnum/Test/FramebufferGLTest.cpp @@ -789,11 +789,10 @@ void FramebufferGLTest::read() { Renderer::setClearStencil(67); framebuffer.clear(FramebufferClear::Color|FramebufferClear::Depth|FramebufferClear::Stencil); - Image2D colorImage(ColorFormat::RGBA, ColorType::UnsignedByte); - framebuffer.read({{16, 8}, {8, 16}}, colorImage); - CORRADE_COMPARE(colorImage.size(), Vector2i(8, 16)); + Image2D colorImage = framebuffer.read({{16, 8}, {8, 16}}, {ColorFormat::RGBA, ColorType::UnsignedByte}); MAGNUM_VERIFY_NO_ERROR(); + CORRADE_COMPARE(colorImage.size(), Vector2i(8, 16)); CORRADE_COMPARE(colorImage.data()[0], Color4ub(128, 64, 32, 17)); #ifdef MAGNUM_TARGET_GLES @@ -804,8 +803,7 @@ void FramebufferGLTest::read() { Debug() << "Using" << Extensions::GL::NV::read_depth::string(); #endif - Image2D depthImage(ColorFormat::DepthComponent, ColorType::UnsignedShort); - framebuffer.read({{}, Vector2i{1}}, depthImage); + Image2D depthImage = framebuffer.read({{}, Vector2i{1}}, {ColorFormat::DepthComponent, ColorType::UnsignedShort}); MAGNUM_VERIFY_NO_ERROR(); CORRADE_COMPARE(depthImage.data()[0], 48352); @@ -819,8 +817,7 @@ void FramebufferGLTest::read() { Debug() << "Using" << Extensions::GL::NV::read_stencil::string(); #endif - Image2D stencilImage(ColorFormat::StencilIndex, ColorType::UnsignedByte); - framebuffer.read({{}, Vector2i{1}}, stencilImage); + Image2D stencilImage = framebuffer.read({{}, Vector2i{1}}, {ColorFormat::StencilIndex, ColorType::UnsignedByte}); MAGNUM_VERIFY_NO_ERROR(); CORRADE_COMPARE(stencilImage.data()[0], 67); @@ -834,8 +831,7 @@ void FramebufferGLTest::read() { Debug() << "Using" << Extensions::GL::NV::read_depth_stencil::string(); #endif - Image2D depthStencilImage(ColorFormat::DepthStencil, ColorType::UnsignedInt248); - framebuffer.read({{}, Vector2i{1}}, depthStencilImage); + Image2D depthStencilImage = framebuffer.read({{}, Vector2i{1}}, {ColorFormat::DepthStencil, ColorType::UnsignedInt248}); MAGNUM_VERIFY_NO_ERROR(); /** @todo This will probably fail on different systems */ @@ -869,8 +865,7 @@ void FramebufferGLTest::readBuffer() { Renderer::setClearStencil(67); framebuffer.clear(FramebufferClear::Color|FramebufferClear::Depth|FramebufferClear::Stencil); - BufferImage2D colorImage(ColorFormat::RGBA, ColorType::UnsignedByte); - framebuffer.read({{16, 8}, {8, 16}}, colorImage, BufferUsage::StaticRead); + BufferImage2D colorImage = framebuffer.read({{16, 8}, {8, 16}}, {ColorFormat::RGBA, ColorType::UnsignedByte}, BufferUsage::StaticRead); CORRADE_COMPARE(colorImage.size(), Vector2i(8, 16)); MAGNUM_VERIFY_NO_ERROR(); @@ -917,18 +912,17 @@ void FramebufferGLTest::blit() { b.clear(FramebufferClear::Color); /* The framebuffer should be black before */ - Image2D image(ColorFormat::RGBA, ColorType::UnsignedByte); - b.read({{}, Vector2i{1}}, image); + Image2D imageBefore = b.read({{}, Vector2i{1}}, {ColorFormat::RGBA, ColorType::UnsignedByte}); MAGNUM_VERIFY_NO_ERROR(); - CORRADE_COMPARE(image.data()[0], Color4ub()); + CORRADE_COMPARE(imageBefore.data()[0], Color4ub()); /* And have given color after */ Framebuffer::blit(a, b, a.viewport(), FramebufferBlit::Color); - b.read({{}, Vector2i{1}}, image); + Image2D imageAfter = b.read({{}, Vector2i{1}}, {ColorFormat::RGBA, ColorType::UnsignedByte}); MAGNUM_VERIFY_NO_ERROR(); - CORRADE_COMPARE(image.data()[0], Color4ub(128, 64, 32, 17)); + CORRADE_COMPARE(imageAfter.data()[0], Color4ub(128, 64, 32, 17)); } }} diff --git a/src/Magnum/Test/MeshGLTest.cpp b/src/Magnum/Test/MeshGLTest.cpp index 8f9910b63..2f151cc69 100644 --- a/src/Magnum/Test/MeshGLTest.cpp +++ b/src/Magnum/Test/MeshGLTest.cpp @@ -456,9 +456,7 @@ Checker::Checker(AbstractShaderProgram&& shader, RenderbufferFormat format, Mesh } template T Checker::get(ColorFormat format, ColorType type) { - Image2D image(format, type); - framebuffer.read({{}, Vector2i{1}}, image); - return image.data()[0]; + return framebuffer.read({{}, Vector2i{1}}, {format, type}).data()[0]; } #endif @@ -1749,9 +1747,7 @@ MultiChecker::MultiChecker(AbstractShaderProgram&& shader, Mesh& mesh): framebuf } template T MultiChecker::get(ColorFormat format, ColorType type) { - Image2D image(format, type); - framebuffer.read({{}, Vector2i{1}}, image); - return image.data()[0]; + return framebuffer.read({{}, Vector2i{1}}, {format, type}).data()[0]; } #endif