mirror of
https://github.com/microsoft/DirectXTex.git
synced 2026-02-11 23:26:14 +01:00
Add Auxiliary files for JPEG/PNG support on Linux (#407)
This commit is contained in:
@@ -58,14 +58,19 @@
|
||||
|
||||
#include <DirectXPackedVector.h>
|
||||
|
||||
//Uncomment to add support for OpenEXR (.exr)
|
||||
//#define USE_OPENEXR
|
||||
|
||||
#ifdef USE_OPENEXR
|
||||
// See <https://github.com/Microsoft/DirectXTex/wiki/Adding-OpenEXR> for details
|
||||
#include "DirectXTexEXR.h"
|
||||
#endif
|
||||
|
||||
// See <https://github.com/Microsoft/DirectXTex/wiki/Using-JPEG-PNG-OSS> for details
|
||||
#ifdef USE_LIBJPEG
|
||||
#include "DirectXTexJPEG.h"
|
||||
#endif
|
||||
#ifdef USE_LIBPNG
|
||||
#include "DirectXTexPNG.h"
|
||||
#endif
|
||||
|
||||
using namespace DirectX;
|
||||
|
||||
enum COMMANDS : uint32_t
|
||||
@@ -348,13 +353,28 @@ const SValue g_pFilters[] =
|
||||
#ifdef USE_OPENEXR
|
||||
#define CODEC_EXR 0xFFFF0006
|
||||
#endif
|
||||
#ifdef USE_LIBJPEG
|
||||
#define CODEC_JPEG 0xFFFF0007
|
||||
#endif
|
||||
#ifdef USE_LIBPNG
|
||||
#define CODEC_PNG 0xFFFF0008
|
||||
#endif
|
||||
|
||||
const SValue g_pDumpFileTypes[] =
|
||||
{
|
||||
{ L"bmp", WIC_CODEC_BMP },
|
||||
#ifdef USE_LIBJPEG
|
||||
{ L"jpg", CODEC_JPEG },
|
||||
{ L"jpeg", CODEC_JPEG },
|
||||
#else
|
||||
{ L"jpg", WIC_CODEC_JPEG },
|
||||
{ L"jpeg", WIC_CODEC_JPEG },
|
||||
#endif
|
||||
#ifdef USE_LIBPNG
|
||||
{ L"png", CODEC_PNG },
|
||||
#else
|
||||
{ L"png", WIC_CODEC_PNG },
|
||||
#endif
|
||||
{ L"tga", CODEC_TGA },
|
||||
{ L"hdr", CODEC_HDR },
|
||||
{ L"tif", WIC_CODEC_TIFF },
|
||||
@@ -368,22 +388,31 @@ const SValue g_pDumpFileTypes[] =
|
||||
|
||||
const SValue g_pExtFileTypes[] =
|
||||
{
|
||||
{ L".bmp", WIC_CODEC_BMP },
|
||||
{ L".bmp", WIC_CODEC_BMP },
|
||||
#ifdef USE_LIBJPEG
|
||||
{ L".jpg", CODEC_JPEG },
|
||||
{ L".jpeg", CODEC_JPEG },
|
||||
#else
|
||||
{ L".jpg", WIC_CODEC_JPEG },
|
||||
{ L".jpeg", WIC_CODEC_JPEG },
|
||||
{ L".png", WIC_CODEC_PNG },
|
||||
{ L".dds", CODEC_DDS },
|
||||
{ L".tga", CODEC_TGA },
|
||||
{ L".hdr", CODEC_HDR },
|
||||
#endif
|
||||
#ifdef USE_LIBPNG
|
||||
{ L".png", CODEC_PNG },
|
||||
#else
|
||||
{ L".png", WIC_CODEC_PNG },
|
||||
#endif
|
||||
{ L".dds", CODEC_DDS },
|
||||
{ L".tga", CODEC_TGA },
|
||||
{ L".hdr", CODEC_HDR },
|
||||
{ L".tif", WIC_CODEC_TIFF },
|
||||
{ L".tiff", WIC_CODEC_TIFF },
|
||||
{ L".wdp", WIC_CODEC_WMP },
|
||||
{ L".hdp", WIC_CODEC_WMP },
|
||||
{ L".jxr", WIC_CODEC_WMP },
|
||||
{ L".wdp", WIC_CODEC_WMP },
|
||||
{ L".hdp", WIC_CODEC_WMP },
|
||||
{ L".jxr", WIC_CODEC_WMP },
|
||||
#ifdef USE_OPENEXR
|
||||
{ L"exr", CODEC_EXR },
|
||||
{ L"exr", CODEC_EXR },
|
||||
#endif
|
||||
{ nullptr, CODEC_DDS }
|
||||
{ nullptr, CODEC_DDS }
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
@@ -813,6 +842,18 @@ namespace
|
||||
{
|
||||
return LoadFromEXRFile(fileName, &info, *image);
|
||||
}
|
||||
#endif
|
||||
#ifdef USE_LIBJPEG
|
||||
else if (_wcsicmp(ext.c_str(), L".jpg") == 0 || _wcsicmp(ext.c_str(), L".jpeg") == 0)
|
||||
{
|
||||
return LoadFromJPEGFile(fileName, &info, *image);
|
||||
}
|
||||
#endif
|
||||
#ifdef USE_LIBPNG
|
||||
else if (_wcsicmp(ext.c_str(), L".png") == 0)
|
||||
{
|
||||
return LoadFromPNGFile(fileName, &info, *image);
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
@@ -853,11 +894,18 @@ namespace
|
||||
case CODEC_HDR:
|
||||
return SaveToHDRFile(*image, fileName);
|
||||
|
||||
#ifdef USE_OPENEXR
|
||||
#ifdef USE_OPENEXR
|
||||
case CODEC_EXR:
|
||||
return SaveToEXRFile(*image, fileName);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#ifdef USE_LIBJPEG
|
||||
case CODEC_JPEG:
|
||||
return SaveToJPEGFile(*image, fileName);
|
||||
#endif
|
||||
#ifdef USE_LIBPNG
|
||||
case CODEC_PNG:
|
||||
return SaveToPNGFile(*image, fileName);
|
||||
#endif
|
||||
default:
|
||||
return SaveToWICFile(*image, WIC_FLAGS_NONE, GetWICCodec(static_cast<WICCodecs>(codec)), fileName);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user