3#include <Foundation/Containers/StaticArray.h>
4#include <Foundation/Types/Bitflags.h>
5#include <Foundation/Utilities/EnumerableClass.h>
7#include <Texture/Image/Image.h>
9PL_DECLARE_FLAGS(plUInt8, plImageConversionFlags, InPlace);
15 : m_sourceFormat(source)
16 , m_targetFormat(target)
111 PL_DECLARE_POD_TYPE();
116 plUInt32 m_sourceBufferIndex;
117 plUInt32 m_targetBufferIndex;
171 static void RebuildConversionTable();
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
This class encapsulates a blob's storage and it's size. It is recommended to use this class instead o...
Definition Blob.h:13
Base class to add the ability to another class to enumerate all active instance of it,...
Definition EnumerableClass.h:28
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Helper class containing utilities to convert between different image formats and layouts.
Definition ImageConversion.h:100
Interface for a single image conversion step where the source format is uncompressed and the target f...
Definition ImageConversion.h:72
virtual plResult CompressBlocks(plConstByteBlobPtr source, plByteBlobPtr target, plUInt32 uiNumBlocksX, plUInt32 uiNumBlocksY, plImageFormat::Enum sourceFormat, plImageFormat::Enum targetFormat) const =0
Compresses the given number of blocks.
Interface for a single image conversion step where the source format is compressed and the target for...
Definition ImageConversion.h:63
virtual plResult DecompressBlocks(plConstByteBlobPtr source, plByteBlobPtr target, plUInt32 uiNumBlocks, plImageFormat::Enum sourceFormat, plImageFormat::Enum targetFormat) const =0
Decompresses the given number of blocks.
Interface for a single image conversion step from a planar to a linear format.
Definition ImageConversion.h:90
virtual plResult ConvertPixels(plArrayPtr< plImageView > source, plImage target, plUInt32 uiNumPixelsX, plUInt32 uiNumPixelsY, plImageFormat::Enum sourceFormat, plImageFormat::Enum targetFormat) const =0
Converts a batch of pixels from the given source planes.
Interface for a single image conversion step.
Definition ImageConversion.h:38
virtual plArrayPtr< const plImageConversionEntry > GetSupportedConversions() const =0
Returns an array pointer of supported conversions.
Interface for a single image conversion step where both the source and target format are uncompressed...
Definition ImageConversion.h:54
virtual plResult ConvertPixels(plConstByteBlobPtr source, plByteBlobPtr target, plUInt64 uiNumElements, plImageFormat::Enum sourceFormat, plImageFormat::Enum targetFormat) const =0
Converts a batch of pixels.
Interface for a single image conversion step from a linear to a planar format.
Definition ImageConversion.h:81
virtual plResult ConvertPixels(const plImageView &source, plArrayPtr< plImage > target, plUInt32 uiNumPixelsX, plUInt32 uiNumPixelsY, plImageFormat::Enum sourceFormat, plImageFormat::Enum targetFormat) const =0
Converts a batch of pixels into the given target planes.
A class containing image data and associated meta data.
Definition Image.h:103
A class referencing image data and holding metadata about the image.
Definition Image.h:13
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
A single node along a computed conversion path.
Definition ImageConversion.h:110
A structure describing the pairs of source/target format that may be converted using the conversion r...
Definition ImageConversion.h:13
float m_additionalPenalty
Definition ImageConversion.h:29
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54