티스토리 뷰
PNG 파일인데 색이 잘못 읽힌다
그림판 정도로 다시 읽어서 저장하면 정상 색이 나온다
왠만한 뷰어도 다 정상으로 나온다
이런 경우가 2건인데 모두 일본 MMD 에서 쓰이는 파일이다.
녹색이 되버린 머리
표시되어야 할 색
https://stackoverflow.com/questions/39634189/load-texture-as-rgb-not-srgb-in-directx11-using-wic
이미지 자체에 gamma가 설정되어있는지 확인해보았다.
The WIC metadata for a PNG file contains the sRGB chunk (/sRGB/RenderingIntent is true)
if (memcmp(&containerFormat, &GUID_ContainerFormatPng, sizeof(GUID)) == 0)
{
// Check for sRGB chunk
if (SUCCEEDED(metareader->GetMetadataByName(L"/sRGB/RenderingIntent", &value)) && value.vt == VT_UI1)
{
sRGB = true;
}
}
흠. 탄다.
결론을 말하면, 이미지 자체에 sRGB 가 표시되어있는 경우 DirectX Tool Kit은 gamma 2.2를 적용하여 로드한다.
근대 linear color 를 안쓰거나, 나처럼 기존의 다른 이미지들 때문에 끈 경우
진해져서 망한다.
sRGB 마크를 못보고 diffuse 색과 color mapping을 얼마나 본건지;
UINT loadFlag = sRGB ? DirectX::WIC_LOADER_FORCE_SRGB : DirectX::WIC_LOADER_DEFAULT;
위에걸 아래와 같이 무시하게 바꾸면 된다.
UINT loadFlag = sRGB ? DirectX::WIC_LOADER_FORCE_SRGB : DirectX::WIC_LOADER_IGNORE_SRGB;
'Game > MMD' 카테고리의 다른 글
SMAA 적용 (0) | 2017.11.02 |
---|---|
Antialiasing (0) | 2017.10.31 |
Bullet 으로 치마 들어 올리기 (0) | 2017.10.31 |
When you see the stripe pattern on the gray scale screen (0) | 2017.10.31 |
HLSL 디버깅 중 멀쩡한 값이 0으로 연산 뒤에는 표시될때 (0) | 2017.10.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크