DXT1 : 두가지의 경우가 있습니다.
DXT1 : A1R3G3B3 인 경우와 DXT1 : R4G4B4의 경우 입니다.
Dx유틸에 있는 DDS바꿔 주는 프로그램에서는 전자 알파가 1비트인 경우는 지원하지 않는군요
포토샵을 이용할 경우는 위에 두가지 포맷 중에 결정이 가능 합니다.
DXT3 : A4R4G4B4 입니다.
알파 4비트가 고정입니다.
DXT5 : A8R4G4B4 입니다.
알파 8비트 보간 입니다.
( 실제 파일에는 알파가 4bit가 들어 있고, 화면에 출력될때 보간으로 8bit 보간합니다. )
결과적으로 DXT3, 5는 파일 용량은 같습니다.
실제로 화면에 그려질때 좀더 부드럽게 알파가 보이게 하려면 DXT5를 사용하면 됩니다.
알파가 없는 경우는 DXT1에서 알파가 없는 R4G4B4를 사용하는게 용량면에서 좋습니다.
좀더 정리하면,
알파없는 이미지의 경우는 DXT1(R4G4B4)를 사용하고,
스프라이트 형식의 알파를 사용하는 경우는 DXT3(A4R4B4G4)를 사용하고,
부드러운 알파의 경우는 DX5(A8R4B4G4)를 사용하는게 좋겠지요
1. DDS의 정의
DDS는 Direct Draw Surface의 약자로 nVidia에서 개발한 포맷 방식입니다.
DirectX 기반의 텍스쳐(Texture) 맵을 나타내기 위해 사용되는 이미지 형식인데 (DXT는 DirectX Texture의 줄임말.)
타 형식에 비해 손실대비 압축률이 높고 DX와 완벽하게 호환되기 때문에 대부분의 게임에서 사용된다고 합니다.
2. DDS의 포맷 방식과 특징
먼저 DXTn이 아닌 방식(8.8.8.8, 16,16f과 같은)에 대해서 조사한 결과
DXTn과 달리 비손실압축이기 때문에 어떠한 방식으로 저장하더라도 데이터는 일정한 용량을 가지게 됩니다.
따라서 데이터당 bit 수가 높아질수록 용량도 비례하여 높아지므로 비효율적이라는 결론을 도출하였습니다.
(Ex : 8.8.8.8의 경우 알파에 8bit, R과 G와 B에 각각 8bit의 데이터 정보를 가집니다. -> 용량 커짐)
대부분의 용량압축이 필요한 경우 DXTn 외에는 사용되지 않는다고 합니다.
(1) DXT1 No Alpha
알파채널이 없는 이미지에 사용.
RGB는 4비트로 표현됩니다.
(2) DXT1 1bit Alpha
1비트의 정보만을 나타내는 알파채널을 가지고,
1비트의 정보를 뺀 3비트로 RGB채널을 표현하므로 (1)에 비해 퀄리티가 떨어지게 됩니다.
(3) DXT3 Explicit Alpha
알파채널이 있는 이미지에 사용. Alpha와 RGB가 각각 4bit로 표현됩니다.
(4) DXT5 Interpolated Alpha
알파채널이 그라데이션 스타일일 경우의 이미지에 사용.
RGB는 4비트로 Alpha가 8비트로 표현된다고 합니다.
때문에 DXT3보다 알파채널이 훨씬 부드럽게 표현되므로 퀄리티가 가장 높아집니다.
'참고자료정리 > 튜토리얼' 카테고리의 다른 글
Unity rock tutorial (0) | 2016.03.19 |
---|---|
하드섭 언랩 방법 (0) | 2016.02.29 |
Cinematic Color Grading (0) | 2016.02.25 |
substance painter to 3ds max vray rendering (0) | 2016.02.20 |
유니티 정적 라이팅 업그레이드 (0) | 2016.02.18 |