From 211d96003452c1deb1aca4445acc05e502e8b7d7 Mon Sep 17 00:00:00 2001 From: Chris Oates Date: Tue, 19 Sep 2017 09:57:36 -0700 Subject: [PATCH] Added support for linear color space PNG writing (#48) --- DirectXTex/DirectXTexWIC.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/DirectXTex/DirectXTexWIC.cpp b/DirectXTex/DirectXTexWIC.cpp index 6b45586..c049160 100644 --- a/DirectXTex/DirectXTexWIC.cpp +++ b/DirectXTex/DirectXTexWIC.cpp @@ -599,6 +599,17 @@ namespace value.bVal = 0; (void)metawriter->SetMetadataByName(L"/sRGB/RenderingIntent", &value); } + // linear space. + else + { + // add gAMA chunk with gamma 1.0 + value.vt = VT_UI4; + value.uintVal = 100000; // gama value * 100,000 -- i.e. gamma 1.0 + (void)metawriter->SetMetadataByName( L"/gAMA/ImageGamma", &value ); + + // remove sRGB chunk which is added by default. + (void)metawriter->RemoveMetadataByName(L"/sRGB/RenderingIntent"); + } } #if defined(_XBOX_ONE) && defined(_TITLE) else if (memcmp(&containerFormat, &GUID_ContainerFormatJpeg, sizeof(GUID)) == 0)