1 / 9

Compression

Compression. 2009.5.10 이창희 (cagetu79@gmail.com). 무엇을 압축하는가 ?. Vertex Texture Animation ETC. Vertex 압축. Float(4Byte) 를 단위로 … FixedPoint Icon2008 애니메이션을 위한 최적화 기법 UBYTE4 UBYTE4: 0~255 범위의 unsigned char 형 4 개 UBYTE4N: 0~1 범위의 unsigned char 형 4 개. Vertex 압축 (Cont.). Texcoord

freya-house
Download Presentation

Compression

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Compression 2009.5.10 이창희 (cagetu79@gmail.com)

  2. 무엇을 압축하는가? • Vertex • Texture • Animation • ETC

  3. Vertex 압축 • Float(4Byte)를 단위로… • FixedPoint • Icon2008 애니메이션을 위한 최적화 기법 • UBYTE4 • UBYTE4: 0~255 범위의 unsigned char형 4개 • UBYTE4N: 0~1 범위의 unsigned char형 4개

  4. Vertex압축(Cont.) • Texcoord • -1.0~1.0의 float값 • Float2->Short2(4)로 압축(FixedPoint) • Normal/Tangent/Binormal • -1.0~1.0의 float값 • Float3->UBYTE4N(4)로 압축 • -1.0~1.0의 범위를 0.0~1.0의 범위로 scale필요. • SkinWeights/SkinJoints • Weight(0.0~1.0), Joints(0~x) • Float4->UBYTE4N(4), Float4->UBYTE4(4)로 압축 • 범위 내에 값이 존재함으로, 따로 변환하지 않는다.

  5. Vertex압축(Cont.) • Tip • 압축 결과 Quality를 눈으로 비교하여, 적절히 적용한다. • UBYTE4형을 지원하지 않는 그래픽카드의 지원을 고려해야 한다면, COLOR(DWORD)형을 이용하거나 다른 방법을 사용해야 한다. • Color와 UByte4는 rgba의 순서를 다르게 저장. • 실제 “콜오브듀티4 ”의 오류 중 하나의 예.

  6. Texture • .dds로 압축 • NormalMap을 압축할 경우, 압축 형식(DXT1, DXT5, DXT5nm)에 따라 shader내부에서 Sample을 처리한다. • http://developer.nvidia.com/object/real-time-normal-map-dxt-compression.html • 2048x2048 Texture • TGA: 16.4M-> DXT5: 5.4M(mipmap포함)

  7. Animation • Icon2008 애니메이션을 위한 최적화 기법 • Quaternion 압축 • Key Sample 압축

  8. 기타 • HDR • 0~255 칼라 이상을 저장하기 위해서, 보통 A16B16G16R16F에 저장. • PixelShader에서 최종색상을 출력할 때, 색상을 ½로 나누어서 저장하면, A8R8G8B8 포맷 텍스쳐에 저장이 가능

  9. Reference • http://kimsama.egloos.com/1901622 • Nebula3 (April2009-SDK) • http://gamecode.org

More Related