애니메이터

DDS 모드 요약 본문

그래픽 일반

DDS 모드 요약

욤마핫 2012. 5. 14. 11:41

출처 : 네이버 인터페이스 디자이너 카페, UDK 레퍼런스, 악마의 유혹 블로그

1. DDS

Direct Draw Surface 의 약자. nVidia 의 개발 포맷
DirectX 기반의 텍스쳐 맵을 나타내기 위해 사용
DXT 는 DirectX Tecture의 줄임말, 구별하여 사용할것

2. DDS 포맷

DXTn은 손실압축, DDS는 비손실 압축(?)
DDS 의 서브 카테고리가 DXTn 아니었던가? 어쨌든 DDS로 변환을 거치면 이미지의 퀄러티에 상관없이 같은 해상도에 같은 DDS 포맷이면 파일 크기는 동일

 

nVidia DDS 변환 툴/모드 * bpp = bit per pixel

 

DXT1 칼라 모드 -     R4G4B4
         알파 모드 - A1R3G3B3

DXT3 알파 모드 - RGB565 with 4bit per-pixel static alpha
DXT5 색상 모드 - YCoCg356 without alpha (use alpha as luma)????
DXT5 알파 모드 - RGB565 with 3bit
per-pixel interpolated alpha
DXT3 및 DXT5 이미지 크기(헤더 제외) = ((bmp.width + 3) >> 2) * ((bmp.height + 3) >> 2) * 16

3. DXT 모드별 이미지 퀄러티

 

어찌 됐건 DDS의 기본은 16bit 칼러이기 때문에 품질에서 차이가 남, 실무에서는 그라데이션의 경우 표현이 잘 안되는 경우가 가끔 있음

 

4. UDK 에서 DXT

DXT1    0 or 1 bit alpha
DXT2    Explicit 4-bit alpha, color data is premultiplied by alpha – UnrealEd does not use this    format
DXT3    Explicit 4-bit alpha, not premultiplied
DXT4    Interpolated alpha, color data is premultiplied by alpha – UnrealEd does not use this format
DXT5    Interpolated alpha, not premultiplied

링크 : http://udn.epicgames.com/Two/TextureComparisonKR.html

5. 실무자들의 DDS 에 대한 이해 - 댓글 중요

링크 : http://blog.daum.net/newps/2312319

6. 결론

게임에서의 DDS의 활용은 취사 선택을 분명히 해야할 필요성이 있다.
언리얼 관련 문서에서 언급한 것을 토대로 얘기를 해 본다면
- Linear 한 그라데이션의 표현은 DDS 에서는 격자 무늬가 등장하므로 올바르지 않다
- 자연물이나 복잡한 텍스쳐의 표현은 이미지 퀄러티의 저하가 그리 눈에 띄지 않으므로 사용을 권장

따라서, 케쥬얼 게임에서의 그래픽 표현에는 DDS는 적당치 않고 실사풍 게임에서의 활용이 비교우위에 있다..!?