Browse Source

Trade: full scene conversion support in AbstractSceneConverter.

Wasn't really possible to split this into multiple commits, so here's
the whole thing including delegation from and to the single-mesh APIs.
What's not done here and postponed for later is:

 - an ability to feed the whole importer to it, filtering away data that
   aren't supported by the converter
 - corresponding changes in AbstractImageConverter, where it would now
   primarily accept ImageData to future-proof for arbitrary extra
   key/value data
pull/592/head
Vladimír Vondruš 4 years ago
parent
commit
150d045275
  1. 3
      doc/changelog.dox
  2. 1044
      src/Magnum/Trade/AbstractSceneConverter.cpp
  3. 1754
      src/Magnum/Trade/AbstractSceneConverter.h
  4. 4438
      src/Magnum/Trade/Test/AbstractSceneConverterTest.cpp
  5. 2
      src/MagnumPlugins/AnySceneConverter/AnySceneConverter.cpp

3
doc/changelog.dox

@ -285,6 +285,9 @@ See also:
- New @ref Trade::SkinData class and @ref Trade::AbstractImporter::skin2D() / - New @ref Trade::SkinData class and @ref Trade::AbstractImporter::skin2D() /
@ref Trade::AbstractImporter::skin3D() family of APIs for skin import, as @ref Trade::AbstractImporter::skin3D() family of APIs for skin import, as
well as support in @ref Trade::AnySceneImporter "AnySceneImporter" well as support in @ref Trade::AnySceneImporter "AnySceneImporter"
- The @ref Trade::AbstractSceneConverter plugin interface gained support for
batch conversion of whole scenes --- meshes, hierarchies, materials,
textures, animations and other data
- 1D and 3D image support in @ref Trade::AbstractImageConverter - 1D and 3D image support in @ref Trade::AbstractImageConverter
- @ref Trade::LightData got extended to support light attenuation and range - @ref Trade::LightData got extended to support light attenuation and range
parameters as well and spot light inner and outer angle parameters as well and spot light inner and outer angle

1044
src/Magnum/Trade/AbstractSceneConverter.cpp

File diff suppressed because it is too large Load Diff

1754
src/Magnum/Trade/AbstractSceneConverter.h

File diff suppressed because it is too large Load Diff

4438
src/Magnum/Trade/Test/AbstractSceneConverterTest.cpp

File diff suppressed because it is too large Load Diff

2
src/MagnumPlugins/AnySceneConverter/AnySceneConverter.cpp

@ -98,4 +98,4 @@ bool AnySceneConverter::doConvertToFile(const MeshData& mesh, const Containers::
}} }}
CORRADE_PLUGIN_REGISTER(AnySceneConverter, Magnum::Trade::AnySceneConverter, CORRADE_PLUGIN_REGISTER(AnySceneConverter, Magnum::Trade::AnySceneConverter,
"cz.mosra.magnum.Trade.AbstractSceneConverter/0.1.2") "cz.mosra.magnum.Trade.AbstractSceneConverter/0.2")

Loading…
Cancel
Save