이전부터 기회가 되면 정리하려고 했는데 마침 요청이 들어와서 작성해 봅니다.

비슷한 내용으로 이전에 올린적이 있긴한데 너무 오래됏기도 하고,

DX11용 BC7이라는 효율좋은 압축포맷이 SE에서 추가되면서

다시한번 제대로 정리하는게 나을 것 같아 다시 써보게 됐습니다.

 

결론 먼저 올려놨으며 이어서 올려둔 샘플 스샷으로 손실 정도 확인해 보시면 좋을 것 같습니다. 

 

테스트는 1K (1024*1024) 사이즈의 헤드텍스쳐 노말맵을 기준으로 테스트 진행했습니다.

포토샵 CC의 [Nvidia 플러그인] 과 [Intel 플러그인] 으로 저장한 파일을 비교했습니다.

※ 많은 분들이 사용 중인 페인트샵 dds 플러그인은 화질 열화가 있습니다. 사용을 권장드리지 않습니다.

※ 샘플샷을 제작하면서 실수로 DXT1, DXT5 등을 DX1, DX5로 적었습니다. 양해부탁드립니다;

 


 

손실 테스트 결과 요약 : 

캐릭터용 바디 디퓨즈 : Nvidia DXT1 or Intel Color - BC7 Linear 

캐릭터용 기타 텍스쳐 : Nvidia DXT1

캐릭터용 바디 노말맵(_msn) : Nvidia 8.8.8 RGB  (무손실)

 

동료 모드용 바디 텍스쳐 :Nvidia DXT1 or Intel Color - BC7 Linear 

동료 모드용 바디 노말맵(_msn) : Intel Color - BC7 Linear or Nvidia 8.8.8

 

아이템 기타 텍스쳐 : Nvidia DXT1 or DXT5  (Alpha 채널 있으면 5)

아이템 노말맵 (_n) : Nvidia DXT5

 

큐브맵 (_e) : Nvidia DXT1 RGB, Cube Map Mode

 

Intel BC1, BC3은 설명에서 Nvidia DXT1, DXT5 와 같다고 되어있으나,

   테스트결과 픽셀이 튀는 버그가 있었습니다. 따라서 Nvidia 플러그인 사용을 권장드립니다.

 


 

더보기

 

플러그인 별 포맷 세팅 방법 :

Nvidia 플러그인

 

그림에서 네모 표시한 옵션으로 저장하시면 됩니다.

DXT3은 Alpha 채널 저장 시 손실률이 너무 커 현재는 쓰지 않습니다.

 

Intel 플러그인

 

저장하려는 텍스쳐에 알파채널(투명 정보)이 없을 경우 오른쪽처럼 Color 로 저장하고,

알파 채널이 있을 경우 왼쪽처럼 Color + Alpha 옵션을 선택해 저장합니다.

 

BC7 포맷은 SE에서만 사용 가능한 형식입니다.

 

Color - BC1은 엔비디아의 DXT1과, Color + Alpha - BC3은 엔비디아의 DXT5와 같다고 되어있으나,실제로는 약간 다른 압축 알고리즘을 사용하는 듯 하며 손실정도는 인텔이 좀 더 큰 편입니다.

 

 


 

손실 테스트 상세 결과 :

Test no.1 : Nvidia 8.8.8.8 (5.33 mb) (원본파일)

알파 채널을 포함해 모든 채널을 무손실로 저장하는 포맷입니다.

본 테스트의 샘플로 제작한 파일이며 큰 용량 때문에 실제 인게임용 포맷으로는 일반적으로 사용되지 않습니다.

 

Test no.2 : Nvidia 8.8.8 (4 mb)

알파채널 없는 무손실로 저장하는 포맷입니다.

기본적으로 바디텍스쳐 노말맵을 저장할 때 사용되는 포맷입니다.

 

Test no.3 : Nvidia DXT1 (682 kb)

제일 일반적으로 사용되는 손실 압축 방식입니다.

상당한 압축률을 보여주며 원본 해상도가 높을 수록 손실이 적은 특징이 있습니다.

색 경계가 약간 깨져 나오는 경향이 있습니다.

 

Test no.4 : Nvidia DXT3 (1.33 mb)

지금은 사용되지 않는 알파채널을 포함한 손실 압축 방식입니다.

DXT1에 알파채널을 포함시킨 포맷이며 알파채널에서 그라데이션이 깨지는 것을 확인할 수 있습니다.

 

Test no.5 : Nvidia DXT5 (1.33 mb)

제일 일반적으로 사용되는 알파채널을 포함한 손실 압축 방식입니다.

RGB채널은 DXT1과 동일하며 알파채널은 보간법으로 그려지므로 부드러운 그라데이션 표현이 가능합니다.

 

Test no.6 : Intel none32 (5.33 mb)

8.8.8.8과 동일한 무손실 압축입니다. Color에서 none32를 선택해도 알파채널이 포함된 채로 저장되며,

결과적으로 Nvidia의 8.8.8 옵션에 비해 큰 용량 (4mb < 5.33mb)으로 저장됐습니다.

 

Test no.7 : Intel BC1 linear (682 kb)

인텔 플러그인에서 제공하는 DXT1 포맷입니다.

하지만 Nvidia DXT1보다 손실이 심한 것을 확인할 수 있습니다.※ 다만 저장 속도는 Nvidia보다 약간 더 빠른 것 같았습니다.

 

Test no.8 : Intel BC3 linear (1.33 mb)

인텔 플러그인에서 제공하는 DXT5 포맷입니다.

마찬가지로 Nvidia DXT1보다 손실이 심한 것을 확인할 수 있습니다.

 

Test no.9 : Intel BC7 linear (1.33 mb)

SE에서 지원하는 DX11용 BC7 포맷입니다.

무손실 압축과 거의 차이가 없는 품질을 보여주나 일부 경계선에서 블록모양으로 깨지는 (Blocky) 것을 확인할 수 있습니다.

DXT5와 같은 용량이므로 저사양 PC의 바디 디퓨즈나 동료모드의 바디 노말맵 등에 적용 가능할 것으로 보입니다.블록 모양으로 깨지는 현상이 없지는 않으므로 바디 노말맵에  적용하기엔 무리가 있어보입니다.

 


텍스쳐 관련 질문이나 본문 중 이해가 안가는 부분이 있다면 언제든지 댓글로 남겨주세요.

 

 

 

+ Recent posts