Compression

9
Compression 2009.5.10 이이이 ([email protected])

description

Compression. 2009.5.10 이창희 ([email protected]). 무엇을 압축하는가 ?. 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 - PowerPoint PPT Presentation

Transcript of Compression

Page 1: Compression

Compression2009.5.10 이창희

([email protected])

Page 2: Compression

무엇을 압축하는가 ?

•Vertex•Texture•Animation•ETC

Page 3: Compression

Vertex 압축•Float(4Byte) 를 단위로…

•FixedPoint▫Icon2008 애니메이션을 위한 최적화 기법

•UBYTE4▫UBYTE4: 0~255 범위의 unsigned char 형 4

개▫UBYTE4N: 0~1 범위의 unsigned char 형 4

Page 4: Compression

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) 로 압축

범위 내에 값이 존재함으로 , 따로 변환하지 않는다 .

Page 6: Compression

Texture• .dds 로 압축• NormalMap 을 압축할 경우 , 압축 형식 (DXT1, DXT5,

DXT5nm) 에 따라 shader 내부에서 Sample 을 처리한다 .• http://developer.nvidia.com/object/real-time-norm

al-map-dxt-compression.html• 2048x2048 Texture

▫ TGA: 16.4M-> DXT5: 5.4M(mipmap 포함 )

Page 7: Compression

Animation

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

Page 8: Compression

기타•HDR

▫0~255 칼라 이상을 저장하기 위해서 , 보통 A16B16G16R16F 에 저장 .

▫PixelShader 에서 최종색상을 출력할 때 , 색상을 ½ 로 나누어서 저장하면 , A8R8G8B8 포맷 텍스쳐에 저장이 가능

Page 9: Compression

Reference

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