1
0
mirror of https://github.com/microsoft/DirectXTex synced 2024-11-23 21:10:11 +00:00

Additional code review for OpenEXR (#494)

This commit is contained in:
Chuck Walbourn 2024-08-08 13:54:42 -07:00 committed by GitHub
parent 2f84f54508
commit 1c78c7d1ec
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -265,14 +265,25 @@ HRESULT DirectX::GetMetadataFromEXRFile(const wchar_t* szFile, TexMetadata& meta
const auto dw = file.dataWindow(); const auto dw = file.dataWindow();
const int width = dw.max.x - dw.min.x + 1; const int width = dw.max.x - dw.min.x + 1;
const int height = dw.max.y - dw.min.y + 1; int height = dw.max.y - dw.min.y + 1;
size_t arraySize = 1;
if (width < 1 || height < 1) if (width < 1 || height < 1)
return E_FAIL; return E_FAIL;
if (file.header().find("envmap") != file.header().end())
{
if (width == height / 6)
{
height = width;
arraySize = 6;
}
}
metadata.width = static_cast<size_t>(width); metadata.width = static_cast<size_t>(width);
metadata.height = static_cast<size_t>(height); metadata.height = static_cast<size_t>(height);
metadata.depth = metadata.arraySize = metadata.mipLevels = 1; metadata.depth = metadata.mipLevels = 1;
metadata.arraySize = arraySize;
metadata.format = DXGI_FORMAT_R16G16B16A16_FLOAT; metadata.format = DXGI_FORMAT_R16G16B16A16_FLOAT;
metadata.dimension = TEX_DIMENSION_TEXTURE2D; metadata.dimension = TEX_DIMENSION_TEXTURE2D;
} }
@ -371,7 +382,7 @@ HRESULT DirectX::LoadFromEXRFile(const wchar_t* szFile, TexMetadata* metadata, S
auto const dw = file.dataWindow(); auto const dw = file.dataWindow();
int width = dw.max.x - dw.min.x + 1; const int width = dw.max.x - dw.min.x + 1;
int height = dw.max.y - dw.min.y + 1; int height = dw.max.y - dw.min.y + 1;
size_t arraySize = 1; size_t arraySize = 1;
@ -383,8 +394,8 @@ HRESULT DirectX::LoadFromEXRFile(const wchar_t* szFile, TexMetadata* metadata, S
if (width == height / 6) if (width == height / 6)
{ {
height = width; height = width;
arraySize = 6;
} }
arraySize = 6;
} }
if (metadata) if (metadata)