class new in Git master
OpenExrImageConverterOpenEXR image converter plugin.
Contents
Creates OpenEXR (*.exr
) files from images with PixelFormat::
Usage
This plugin depends on the Trade library and is built if WITH_OPENEXRIMAGECONVERTER
is enabled when building Magnum Plugins. To use as a dynamic plugin, load "OpenExrImageConverter"
via Corrade::
Additionally, if you're using Magnum as a CMake subproject, bundle the magnum-plugins repository and do the following. Using OpenEXR itself as a CMake subproject isn't tested at the moment, so you need to provide it as a system dependency and point CMAKE_PREFIX_PATH
to its installation dir if necessary.
set(WITH_OPENEXRIMAGECONVERTER ON CACHE BOOL "" FORCE) add_subdirectory(magnum-plugins EXCLUDE_FROM_ALL) # So the dynamically loaded plugin gets built implicitly add_dependencies(your-app MagnumPlugins::OpenExrImageConverter)
To use as a static plugin or as a dependency of another plugin with CMake, put FindMagnumPlugins.cmake and FindOpenEXR.cmake into your modules/
directory, request the OpenExrImageConverter
component of the MagnumPlugins
package and link to the MagnumPlugins::OpenExrImageConverter
target:
find_package(MagnumPlugins REQUIRED OpenExrImageConverter) # ... target_link_libraries(your-app PRIVATE MagnumPlugins::OpenExrImageConverter)
See Downloading and building plugins, Plugin usage with CMake, Loading and using plugins and File format support for more information.
Behavior and limitations
Channel mapping
Images with PixelFormat::R
, G
, B
and A
; images with PixelFormat::Z
channel.
If the default behavior is not sufficient, custom channel mapping can be supplied in the configuration.
Multilayer and multipart images
Channels can be prefixed with a custom layer name by specifying the layer
configuration option. Combining multiple layers into a single image isn't supported right now, writing multiple images into a multipart file is not supported either.
Cube map, environment map and deep images
Creating deep images is not supported right now, cube map and environment map images can be only written from a two-dimensional input, however there's currently no way to mark them properly in the metadata.
Plugin-specific configuration
It's possible to tune various options mainly for channel mapping through configuration(). See below for all options and their default values:
[configuration] # Save channels with given layer layer= # Map R/RG/RGB/RGBA image channels to given channel names. If the image is in a # PixelFormat::Depth32F, depth is used instead. If the channel is not present # in the input or if its name is empty, it's not written to the file. r=R g=G b=B a=A depth=Z
Base classes
- class AbstractImageConverter
- Base for image converter plugins.
Constructors, destructors, conversion operators
-
OpenExrImageConverter(PluginManager::
AbstractManager& manager, const std:: string& plugin) explicit - Plugin manager constructor.