From f8ec9c56f8ce49a6149a04500ff28b1fe6c88860 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 24 Apr 2018 20:00:33 +0200 Subject: [PATCH] Split the OpenGL layer out, pt 18: adapted Trade. --- src/Magnum/Trade/AbstractImageConverter.h | 1 + src/Magnum/Trade/MeshData2D.h | 1 + src/Magnum/Trade/MeshData3D.h | 1 + .../Trade/Test/AbstractImageConverterTest.cpp | 10 ++-- src/Magnum/Trade/Test/SceneDataTest.cpp | 2 +- src/Magnum/Trade/Test/TextureDataTest.cpp | 48 +++++++++---------- src/Magnum/Trade/TextureData.h | 16 +++---- src/Magnum/Trade/imageconverter.cpp | 2 +- 8 files changed, 42 insertions(+), 39 deletions(-) diff --git a/src/Magnum/Trade/AbstractImageConverter.h b/src/Magnum/Trade/AbstractImageConverter.h index e764f16ae..392657b03 100644 --- a/src/Magnum/Trade/AbstractImageConverter.h +++ b/src/Magnum/Trade/AbstractImageConverter.h @@ -33,6 +33,7 @@ #include #include "Magnum/Magnum.h" +#include "Magnum/GL/GL.h" #include "Magnum/Trade/Trade.h" #include "Magnum/Trade/visibility.h" diff --git a/src/Magnum/Trade/MeshData2D.h b/src/Magnum/Trade/MeshData2D.h index 6a38dba75..5b6e0d175 100644 --- a/src/Magnum/Trade/MeshData2D.h +++ b/src/Magnum/Trade/MeshData2D.h @@ -32,6 +32,7 @@ #include #include "Magnum/Magnum.h" +#include "Magnum/GL/GL.h" #include "Magnum/Trade/visibility.h" namespace Magnum { namespace Trade { diff --git a/src/Magnum/Trade/MeshData3D.h b/src/Magnum/Trade/MeshData3D.h index 98b6984f8..0a7366969 100644 --- a/src/Magnum/Trade/MeshData3D.h +++ b/src/Magnum/Trade/MeshData3D.h @@ -32,6 +32,7 @@ #include #include "Magnum/Magnum.h" +#include "Magnum/GL/GL.h" #include "Magnum/Trade/visibility.h" namespace Magnum { namespace Trade { diff --git a/src/Magnum/Trade/Test/AbstractImageConverterTest.cpp b/src/Magnum/Trade/Test/AbstractImageConverterTest.cpp index 3a2d0ed68..64eb63bc0 100644 --- a/src/Magnum/Trade/Test/AbstractImageConverterTest.cpp +++ b/src/Magnum/Trade/Test/AbstractImageConverterTest.cpp @@ -74,7 +74,7 @@ void AbstractImageConverterTest::exportToFile() { /* doExportToFile() should call doExportToData() */ DataExporter exporter; - ImageView2D image(PixelFormat::RGBA, PixelType::UnsignedByte, {0xfe, 0xed}, {nullptr, 0xfe*0xed*4}); + ImageView2D image(PixelFormat::RGBA8Unorm, {0xfe, 0xed}, {nullptr, 0xfe*0xed*4}); CORRADE_VERIFY(exporter.exportToFile(image, Utility::Directory::join(TRADE_TEST_OUTPUT_DIR, "image.out"))); CORRADE_COMPARE_AS(Utility::Directory::join(TRADE_TEST_OUTPUT_DIR, "image.out"), "\xFE\xED", TestSuite::Compare::FileToString); @@ -102,13 +102,13 @@ void AbstractImageConverterTest::exportToDataImageData() { { /* Should get "B" when converting uncompressed */ - ImageData2D image{PixelFormat::RGBA, PixelType::UnsignedByte, {}, nullptr}; + ImageData2D image{PixelFormat::RGBA8Unorm, {}, nullptr}; CORRADE_COMPARE_AS(exporter.exportToData(image), (Containers::Array{Containers::InPlaceInit, {'B'}}), TestSuite::Compare::Container); } { /* Should get "C" when converting compressed */ - ImageData2D image{CompressedPixelFormat::RGBAS3tcDxt1, {}, nullptr}; + ImageData2D image{CompressedPixelFormat::Bc1RGBUnorm, {}, nullptr}; CORRADE_COMPARE_AS(exporter.exportToData(image), (Containers::Array{Containers::InPlaceInit, {'C'}}), TestSuite::Compare::Container); @@ -120,13 +120,13 @@ void AbstractImageConverterTest::exportToFileImageData() { { /* Should get "B" when converting uncompressed */ - ImageData2D image{PixelFormat::RGBA, PixelType::UnsignedByte, {}, nullptr}; + ImageData2D image{PixelFormat::RGBA16F, {}, nullptr}; CORRADE_VERIFY(exporter.exportToFile(image, Utility::Directory::join(TRADE_TEST_OUTPUT_DIR, "image.out"))); CORRADE_COMPARE_AS(Utility::Directory::join(TRADE_TEST_OUTPUT_DIR, "image.out"), "B", TestSuite::Compare::FileToString); } { /* Should get "C" when converting compressed */ - ImageData2D image{CompressedPixelFormat::RGBAS3tcDxt1, {}, nullptr}; + ImageData2D image{CompressedPixelFormat::Bc2RGBAUnorm, {}, nullptr}; CORRADE_VERIFY(exporter.exportToFile(image, Utility::Directory::join(TRADE_TEST_OUTPUT_DIR, "image.out"))); CORRADE_COMPARE_AS(Utility::Directory::join(TRADE_TEST_OUTPUT_DIR, "image.out"), "C", TestSuite::Compare::FileToString); diff --git a/src/Magnum/Trade/Test/SceneDataTest.cpp b/src/Magnum/Trade/Test/SceneDataTest.cpp index 722a3d4b8..78a249d81 100644 --- a/src/Magnum/Trade/Test/SceneDataTest.cpp +++ b/src/Magnum/Trade/Test/SceneDataTest.cpp @@ -25,8 +25,8 @@ #include -#include "Magnum/Trade/SceneData.h" #include "Magnum/Magnum.h" +#include "Magnum/Trade/SceneData.h" namespace Magnum { namespace Trade { namespace Test { diff --git a/src/Magnum/Trade/Test/TextureDataTest.cpp b/src/Magnum/Trade/Test/TextureDataTest.cpp index 398cfc135..3a7401ded 100644 --- a/src/Magnum/Trade/Test/TextureDataTest.cpp +++ b/src/Magnum/Trade/Test/TextureDataTest.cpp @@ -52,18 +52,18 @@ TextureDataTest::TextureDataTest() { void TextureDataTest::construct() { const int a{}; const TextureData data{TextureData::Type::Cube, - Sampler::Filter::Linear, - Sampler::Filter::Nearest, - Sampler::Mipmap::Nearest, - {Sampler::Wrapping::Repeat, Sampler::Wrapping::ClampToEdge, Sampler::Wrapping::MirroredRepeat}, + SamplerFilter::Linear, + SamplerFilter::Nearest, + SamplerMipmap::Nearest, + {SamplerWrapping::Repeat, SamplerWrapping::ClampToEdge, SamplerWrapping::MirroredRepeat}, 42, &a}; CORRADE_COMPARE(data.type(), TextureData::Type::Cube); - CORRADE_COMPARE(data.minificationFilter(), Sampler::Filter::Linear); - CORRADE_COMPARE(data.magnificationFilter(), Sampler::Filter::Nearest); - CORRADE_COMPARE(data.mipmapFilter(), Sampler::Mipmap::Nearest); - CORRADE_COMPARE(data.wrapping(), (Array3D{Sampler::Wrapping::Repeat, Sampler::Wrapping::ClampToEdge, Sampler::Wrapping::MirroredRepeat})); + CORRADE_COMPARE(data.minificationFilter(), SamplerFilter::Linear); + CORRADE_COMPARE(data.magnificationFilter(), SamplerFilter::Nearest); + CORRADE_COMPARE(data.mipmapFilter(), SamplerMipmap::Nearest); + CORRADE_COMPARE(data.wrapping(), (Array3D{SamplerWrapping::Repeat, SamplerWrapping::ClampToEdge, SamplerWrapping::MirroredRepeat})); CORRADE_COMPARE(data.image(), 42); CORRADE_COMPARE(data.importerState(), &a); } @@ -76,38 +76,38 @@ void TextureDataTest::constructCopy() { void TextureDataTest::constructMove() { const int a{}; TextureData data{TextureData::Type::Cube, - Sampler::Filter::Linear, - Sampler::Filter::Nearest, - Sampler::Mipmap::Nearest, - {Sampler::Wrapping::Repeat, Sampler::Wrapping::ClampToEdge, Sampler::Wrapping::MirroredRepeat}, + SamplerFilter::Linear, + SamplerFilter::Nearest, + SamplerMipmap::Nearest, + {SamplerWrapping::Repeat, SamplerWrapping::ClampToEdge, SamplerWrapping::MirroredRepeat}, 42, &a}; TextureData b{std::move(data)}; CORRADE_COMPARE(b.type(), TextureData::Type::Cube); - CORRADE_COMPARE(b.minificationFilter(), Sampler::Filter::Linear); - CORRADE_COMPARE(b.magnificationFilter(), Sampler::Filter::Nearest); - CORRADE_COMPARE(b.mipmapFilter(), Sampler::Mipmap::Nearest); - CORRADE_COMPARE(b.wrapping(), (Array3D{Sampler::Wrapping::Repeat, Sampler::Wrapping::ClampToEdge, Sampler::Wrapping::MirroredRepeat})); + CORRADE_COMPARE(b.minificationFilter(), SamplerFilter::Linear); + CORRADE_COMPARE(b.magnificationFilter(), SamplerFilter::Nearest); + CORRADE_COMPARE(b.mipmapFilter(), SamplerMipmap::Nearest); + CORRADE_COMPARE(b.wrapping(), (Array3D{SamplerWrapping::Repeat, SamplerWrapping::ClampToEdge, SamplerWrapping::MirroredRepeat})); CORRADE_COMPARE(b.image(), 42); CORRADE_COMPARE(b.importerState(), &a); const int c{}; TextureData d{TextureData::Type::Texture2D, - Sampler::Filter::Nearest, - Sampler::Filter::Linear, - Sampler::Mipmap::Base, - Sampler::Wrapping::ClampToEdge, + SamplerFilter::Nearest, + SamplerFilter::Linear, + SamplerMipmap::Base, + SamplerWrapping::ClampToEdge, 13, &c}; d = std::move(b); CORRADE_COMPARE(d.type(), TextureData::Type::Cube); - CORRADE_COMPARE(d.minificationFilter(), Sampler::Filter::Linear); - CORRADE_COMPARE(d.magnificationFilter(), Sampler::Filter::Nearest); - CORRADE_COMPARE(d.mipmapFilter(), Sampler::Mipmap::Nearest); - CORRADE_COMPARE(d.wrapping(), (Array3D{Sampler::Wrapping::Repeat, Sampler::Wrapping::ClampToEdge, Sampler::Wrapping::MirroredRepeat})); + CORRADE_COMPARE(d.minificationFilter(), SamplerFilter::Linear); + CORRADE_COMPARE(d.magnificationFilter(), SamplerFilter::Nearest); + CORRADE_COMPARE(d.mipmapFilter(), SamplerMipmap::Nearest); + CORRADE_COMPARE(d.wrapping(), (Array3D{SamplerWrapping::Repeat, SamplerWrapping::ClampToEdge, SamplerWrapping::MirroredRepeat})); CORRADE_COMPARE(d.image(), 42); CORRADE_COMPARE(d.importerState(), &a); } diff --git a/src/Magnum/Trade/TextureData.h b/src/Magnum/Trade/TextureData.h index 581f29d14..b7b01e7c4 100644 --- a/src/Magnum/Trade/TextureData.h +++ b/src/Magnum/Trade/TextureData.h @@ -62,7 +62,7 @@ class TextureData { * @param image Texture image ID * @param importerState Importer-specific state */ - TextureData(Type type, Sampler::Filter minificationFilter, Sampler::Filter magnificationFilter, Sampler::Mipmap mipmapFilter, Array3D wrapping, UnsignedInt image, const void* importerState = nullptr) noexcept: _type{type}, _minificationFilter{minificationFilter}, _magnificationFilter{magnificationFilter}, _mipmapFilter{mipmapFilter}, _wrapping{wrapping}, _image{image}, _importerState{importerState} {} + TextureData(Type type, SamplerFilter minificationFilter, SamplerFilter magnificationFilter, SamplerMipmap mipmapFilter, Array3D wrapping, UnsignedInt image, const void* importerState = nullptr) noexcept: _type{type}, _minificationFilter{minificationFilter}, _magnificationFilter{magnificationFilter}, _mipmapFilter{mipmapFilter}, _wrapping{wrapping}, _image{image}, _importerState{importerState} {} /** @brief Copying is not allowed */ TextureData(const TextureData&) = delete; @@ -80,16 +80,16 @@ class TextureData { Type type() const { return _type; } /** @brief Minification filter */ - Sampler::Filter minificationFilter() const { return _minificationFilter; } + SamplerFilter minificationFilter() const { return _minificationFilter; } /** @brief Magnification filter */ - Sampler::Filter magnificationFilter() const { return _magnificationFilter; } + SamplerFilter magnificationFilter() const { return _magnificationFilter; } /** @brief Mipmap filter */ - Sampler::Mipmap mipmapFilter() const { return _mipmapFilter; } + SamplerMipmap mipmapFilter() const { return _mipmapFilter; } /** @brief Wrapping */ - Array3D wrapping() const { return _wrapping; } + Array3D wrapping() const { return _wrapping; } /** * @brief Image ID @@ -111,9 +111,9 @@ class TextureData { private: Type _type; - Sampler::Filter _minificationFilter, _magnificationFilter; - Sampler::Mipmap _mipmapFilter; - Array3D _wrapping; + SamplerFilter _minificationFilter, _magnificationFilter; + SamplerMipmap _mipmapFilter; + Array3D _wrapping; UnsignedInt _image; const void* _importerState; }; diff --git a/src/Magnum/Trade/imageconverter.cpp b/src/Magnum/Trade/imageconverter.cpp index 4cc7adebd..bd1b2944a 100644 --- a/src/Magnum/Trade/imageconverter.cpp +++ b/src/Magnum/Trade/imageconverter.cpp @@ -102,7 +102,7 @@ int main(int argc, char** argv) { return 3; } - Debug() << "Converting image of size" << image->size() << Debug::nospace << ", format" << image->format() << "and type" << image->type() << "to" << args.value("output"); + Debug() << "Converting image of size" << image->size() << "and format" << image->format() << "to" << args.value("output"); /* Save output file */ if(!converter->exportToFile(*image, args.value("output"))) {