|
|
DirectX Graphics ·¹ÆÛ·±½º DDS ÆÄÀÏ ·¹ÆÛ·±½º [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç]
|
| Microsoft DirectX 9.0 |
ÅØ½ºÃ³ ¹× Å¥ºê ȯ°æ ¸ÊÀ» º¸Á¸ÇÏ·Á¸é , Microsoft® DirectDraw® Ç¥¸é (DDS) ÆÄÀÏ Æ÷¸ËÀ» »ç¿ëÇÑ´Ù. ¸ðµÎ, ¹Ó¸Ê ·¹º§À» Á¤ÀÇÇØµµ ÇÏÁö ¾Ê¾Æµµ µÇ´Ù. ÀÌ Æ÷¸Ë¿¡¼´Â ¾ÐÃà Çȼ¿ Æ÷¸Ë ¹× ¹Ì¾ÐÃà Çȼ¿ Æ÷¸ËÀ» º¸Á¸ÇÒ ¼ö ÀÖ´Ù. DXTn ¾ÐÃà µ¥ÀÌÅ͸¦ º¸Á¸ÇÏ´Â °æ¿ì´Â ÀÌ ÆÄÀÏ Æ÷¸ËÀ» »ç¿ëÇϸé ÁÁ´Ù. ÀÌ ÆÄÀÏ Æ÷¸ËÀº, Microsoft DirectX® Texture Åø (DXTex Åø)¿Ü, ½áµåÆÄƼÁ¦ ÅøÀÇ ÀϺΠ¹× Direct3D extension (D3DX) ¶óÀ̺귯¸®¿¡¼µµ Áö¿ø µÇ°í ÀÖ´Ù.
ÀÌ Æ÷¸ËÀº DirectX 7.0 À¸·Î µµÀԵǾú´Ù. DirectX 8.0 ¿¡¼´Â, º¼·ý ÅØ½ºÃ³ÀÇ Áö¿øÀÌ Ãß°¡µÇ¾ú´Ù.
DDS ÆÄÀÏÀÇ ±âº» ±¸Á¶´Â, Çì´õ¿Í 1 °³ÀÇ ¹ÙÀ̳븮Çʵ忡 ±â¼úµÈ 1 °³ ¶Ç´Â º¹¼öÀÇ Ç¥¸éÀ¸·Î ±¸¼ºµÈ´Ù. Çì´õ´Â, 4 ¹®ÀÚÀÇ ÄÚµå (FOURCC)¿Í DDSURFACEDESC2 ±¸Á¶Ã¼·ÎºÎÅÍ ¿Ï¼ºµÈ´Ù. ÀÌ Çì´õ´Â, ÆÄÀÏ ÀüüÀÇ ³»¿ëÀ» ½Äº°Çϱâ À§Çؼ ÇÊ¿äÇÑ ¸ðµç Á¤º¸¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù. ´ÙÀ½ÀÇ ±×¸²¿¡, DDS ÆÄÀÏÀÇ ·¹À̾ƿôÀ» ³ªÅ¸³½´Ù.

DDSURFACEDESC2 ±¸Á¶Ã¼´Â, DirectDraw ¹®¼¿¡ Á¤ÀÇµÈ Ç¥ÁØÀÇ Ç÷¡±× ¹× °ªÀ» »ç¿ëÇØ ÆÄÀÏÀÇ ³»¿ëÀ» ±â¼úÇÑ´Ù. ´Ù¸¸, ¿ÏÀüÇÑ È£È¯¼ºÀ» È®º¸Çϱâ À§Çؼ, ÆÄÀÏ¿¡´Â ÇÑÁ¤µÈ °ª¼¼Æ®¸¦ »ç¿ëÇÑ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀ̳ª ±× ¿ÜÀÇ Åø·Î °£´ÜÇÏ°Ô ·ÎµåÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ) ÇÏ·Á¸é , °ß°íÇÑ ¸®´õ·Î ۰ªÀ» °ËÁõÇØ, °ß°íÇÑ ¶óÀÌÅÍ·Î, ´Ù¾çÇÑ ÇÊµå ¹× ¿É¼Ç¿¡ ÇÊ¿äÇÑ Ç÷¡±×°¡ ¸ðµÎ ¼³Á¤µÇ¾î ÀÖ´Â °ÍÀ» È®ÀÎÇÑ´Ù. ¶Ç, °ß°íÇÑ ¸®´õ·Î, ´ëÀÀÇÏ´Â Ç÷¡±×°¡ ¼³Á¤µÇÁö ¾ÊÀº °æ¿ì´Â Çʵ带 »ç¿ëÇÏÁö ¾Ê°í, °ß°íÇÑ ¶óÀÌÅÍ·Î, ¹ÌÁ¤µµ¸®ÀÇ Çʵ带 ¸ðµÎ 0 À¸·Î ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù.
´ÙÀ½ÀÇ Ç¥´Â, DDSURFACEDESC2 ±¸Á¶ÀÇ ¸â¹ö¸¦ ³ªÅ¸³»°í ÀÖ´Ù.
| ¸â¹ö | ¼³¸í |
|---|---|
| DWORD dwSize | ±¸Á¶Ã¼ÀÇ »çÀÌÁî. ÀÌ ¸â¹ö´Â ¹Ýµå½Ã 124 ·Î ¼³Á¤ÇÏ´Â °Í. |
| DWORD dwFlags | À¯È¿ÇÑ Çʵ带 ³ªÅ¸³»´Â Ç÷¡±×. Ç×»ó DDSD_CAPS, DDSD_PIXELFORMAT, DDSD_WIDTH, DDSD_HEIGHT ¸¦ Æ÷ÇÔÇÏ´Â °Í. |
| DWORD dwHeight | ¸ÞÀÎ À̹ÌÁöÀÇ Çȼ¿ ´ÜÀ§ÀÇ ³ôÀÌ |
| DWORD dwWidth | ¸ÞÀÎ À̹ÌÁöÀÇ Çȼ¿ ´ÜÀ§ÀÇ Æø |
| DWORD dwPitchOrLinearSize | ¹Ì¾ÐÃà Æ÷¸ËÀÇ °æ¿ì´Â, ¸ÞÀÎ À̹ÌÁöÀÇ Áֻ缱 ±ÙóÀÇ ¹ÙÀÌÆ®¼ö (DWORD ·Î Á¤·Ä). ÀÌ °æ¿ì´Â dwFlags ¿¡ DDSD_PITCH ¸¦ Æ÷ÇÔÇÑ´Ù. ¾ÐÃà Æ÷¸ËÀÇ °æ¿ì´Â, ¸ÞÀÎ À̹ÌÁöÀÇ ÃѹÙÀÌÆ®¼ö. ÀÌ °æ¿ì´Â dwFlags ¿¡ DDSD_LINEARSIZE ¸¦ Æ÷ÇÔÇÑ´Ù. |
| DWORD dwDepth | º¼·ý ÅØ½ºÃ³ÀÇ °æ¿ì´Â, º¼·ýÀÇ ±íÀÌ. ÀÌ °æ¿ì´Â dwFlags ¿¡ DDSD_DEPTH ¸¦ Æ÷ÇÔÇÑ´Ù. |
| DWORD dwMipMapCount | ¹Ó¸Ê ·¹º§ÀÌ Á¤ÀÇµÈ ¹Ó¸ÊÀÇ °æ¿ì´Â, ¸ÞÀÎ À̹ÌÁöÀÇ ¹Ó¸Ê üÀο¡ Æ÷ÇԵǴ ÃÑ·¹º§¼ö. ÀÌ °æ¿ì´Â dwFlags ¿¡ DDSD_MIPMAPCOUNT ¸¦ Æ÷ÇÔÇÑ´Ù. |
| DWORD dwReserved1[11] | |
| DDPIXELFORMAT ddpfPixelFormat | Çȼ¿ Æ÷¸ËÀÇ ±¸Á¶Ã¼¸¦ ÁöÁ¤ÇÏ´Â 32 ¹ÙÀÌÆ®ÀÇ °ª. |
| DDCAPS2 ddsCaps | ´É·ÂÀÇ ±¸Á¶Ã¼¸¦ ÁöÁ¤ÇÏ´Â 16 ¹ÙÀÌÆ®ÀÇ °ª. |
| DWORD dwReserved2 |
DDS ÆÄÀÏ Æ÷¸ËÀÌ ¹Þ´Â Á¦¾à¿¡ ÀÇÇØ, ÀÌ ¼³¸í¿¡ »ç¿ëÇÑ Çʵå¸íÀº DDSURFACEDESC2 Çʵ忡 Á¤È®ÇÏ°Ô ´ëÀÀÇϰí ÀÖÁö ¾Ê´Ù. ´Ù¸¸, DDSURFACEDESC2 ±¸Á¶Ã¼¸¦ »ç¿ëÇÏ´Â °ÍÀº °¡´ÉÇØ, ¶Ç À̰ÍÀ» »ç¿ëÇØ¾ß ÇÏ´Â °ÍÀÌ´Ù. ÆÄÀÏÀ» °ËÁõÇÏ·Á¸é , ¸ÅÁ÷ DDS °ª ¹× Çì´õÀÇ dwSize °ªÀ» »ç¿ëÇÑ´Ù.
Çì´õÀÇ ddpfPixelFormat Çʵ忡¼ À̹ÌÁöÀÇ Çȼ¿ Æ÷¸ËÀ» ÁöÁ¤ÇÑ´Ù. À̰ÍÀ» »ç¿ëÇØ, Microsoft Direct3D® ¿¡ ÀÇÇØ Áö¿ø µÇ´Â ¸ðµç Æ÷¸ËÀ» ±â¼úÇÒ ¼ö ÀÖ´Ù. º¸Åë, DDS ÆÄÀÏÀº RGB ¹× FOURCC Æ÷¸ËÀÇ ¾î´À ÂÊÀΰ¡¿¡ ÇÑÁ¤µÈ´Ù. ÀϹÝÀûÀ¸·Î, ±× ¿ÜÀÇ Æ÷¸ËÀº Áö¿øÇÏÁö ¾Ê´Â´Ù. È®½ÇÈ÷ Áö¿ø µÇµµ·Ï(µíÀÌ) ÇÏ·Á¸é , RGB Æ÷¸ËÀº A8R8G8B8, A1R5G5B5, A4R4G4B4, R8G8B8, R5G6B5 ·Î ÇÑÁ¤ÇØ, FOURCC Æ÷¸ËÀº DXT1, DXT2, DXT3, DXT4, ¹× DXT5 ·Î ÇÑÁ¤ÇÑ´Ù. °íµµÀÇ ¸®´õ¿¡¼´Â, °¡´ÉÇÑ °æ¿ì´Â ±× ¿ÜÀÇ Æ÷¸Ëµµ 󸮵ȴÙ.
´ÙÀ½ÀÇ Ç¥´Â, DDPIXELFORMAT ±¸Á¶Ã¼ÀÇ ·¹À̾ƿôÀ» ³ªÅ¸³»°í ÀÖ´Ù.
| ¸â¹ö | ¼³¸í |
|---|---|
| DWORD dwSize | ±¸Á¶Ã¼ÀÇ »çÀÌÁî. ÀÌ ¸â¹ö´Â ¹Ýµå½Ã 32 ·Î ¼³Á¤ÇÏ´Â °Í. |
| DWORD dwFlags | À¯È¿ÇÑ Çʵ带 ³ªÅ¸³»´Â Ç÷¡±×. ¹Ì¾ÐÃà Æ÷¸Ë¿¡¼´Â, RGB Æ÷¸ËÀ» ³ªÅ¸³»´Âµ¥, º¸Åë DDPF_RGB ¸¦ »ç¿ëÇÏÁö¸¸, ¾ÐÃà Æ÷¸Ë¿¡¼´Â, DDPF_FOURCC ¸¦ 4 ¹®ÀÚÀÇ ÄÚµå¿Í ÇÔ²² »ç¿ëÇÑ´Ù. |
| DWORD dwFourCC | ¾ÐÃà Æ÷¸ËÀÇ 4 ¹®ÀÚÀÇ ÄÚµå. ÀÌ °æ¿ì´Â dwFlags ¿¡ DDPF_FOURCC ¸¦ Æ÷ÇÔÇÑ´Ù. DXTn ¾ÐÃàÀÇ °æ¿ì´Â, À̰ÍÀ» "DXT1","DXT2","DXT3","DXT4", ¶Ç´Â "DXT5" ·Î ¼³Á¤ÇÑ´Ù. |
| DWORD dwRGBBitCount | RGB Æ÷¸ËÀÇ °æ¿ì´Â, Æ÷¸Ë¿¡ Æ÷ÇԵǴ ÃѺñÆ®¼ö. ÀÌ °æ¿ì´Â dwFlags ¿¡ DDPF_RGB ¸¦ Æ÷ÇÔÇÑ´Ù. º¸Åë, ÀÌ °ªÀº 16, 24, ¶Ç´Â 32. A8R8G8B8 ÀÇ °æ¿ì´Â 32. |
| DWORD dwRBitMask DWORD dwGBitMask DWORD dwBBitMask | RGB Æ÷¸ËÀÇ °æ¿ì, ÀÌ 3 °³ÀÇ Çʵ忡´Â Àû, ÃÊ·Ï, ¹× ÆÄ¶û ä³ÎÀÇ ¸¶½ºÅ©°¡ µé¾î°£´Ù. A8R8G8B8 ÀÇ °æ¿ì, ÀÌ·¯ÇÑ °ªÀº °¢°¢ 0 x00ff0000, 0 x0000ff00, ¹× 0x000000ff °¡ µÈ´Ù. |
| DWORD dwRGBAlphaBitMask | RGB Æ÷¸ËÀÇ °æ¿ì, ¿©±â¿¡´Â ¾ËÆÄ ä³ÎÀÇ ¸¶½ºÅ©°¡ ÀÖÀ¸¸é ±× ¸¶½ºÅ©°¡ µé¾î°£´Ù. ÀÌ °æ¿ì´Â dwFlags ¿¡ DDPF_ALPHAPIXELS ¸¦ Æ÷ÇÔÇÑ´Ù. A8R8G8B8 ÀÇ °æ¿ì, ÀÌ °ªÀº 0xff000000 °¡ µÈ´Ù. |
ÀÌ Æ÷¸ËÀÇ ¸¶Áö¸· »ó¼¼ Á¤º¸´Â, Çì´õÀÇ ddsCaps Çʵå·Î ¼³Á¤µÈ ´É·Â ºñÆ®·ÎºÎÅÍ ÃßÃøµÈ´Ù. ddsCaps ±¸Á¶Ã¼ÀÇ ·¹À̾ƿôÀ» ´ÙÀ½ Ç¥¿¡ ³ªÅ¸³½´Ù.
| ¸â¹ö | ¼³¸í |
|---|---|
| DWORD dwCaps1 | DDS ÆÄÀÏ¿¡´Â ¹Ýµå½Ã DDSCAPS_TEXTURE ¸¦ Æ÷ÇÔÇÏ´Â °Í. ÆÄÀÏÀÌ ¹Ó¸ÊÀ» Æ÷ÇÔÇϰí ÀÖ´Â °æ¿ì´Â, DDSCAPS_MIPMAP ¸¦ ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù. ¹Ó¸Ê, Å¥ºê ȯ°æ ¸Ê, ¶Ç´Â º¼·ý ÅØ½ºÃ³¿Í °°ÀÌ º¹¼öÀÇ Ç¥¸éÀ» °¡Áö´Â DDS ÆÄÀÏ¿¡¼´Â, DDSCAPS_COMPLEX µµ ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù. |
| DWORD dwCaps2 | Å¥ºê ȯ°æ ¸ÊÀÇ °æ¿ì´Â, DDSCAPS2_CUBEMAP °ú ¸ÊÀÇ 1 °³ ȤÀº º¹¼öÀÇ ¸é (DDSCAPS2_CUBEMAP_POSITIVEX, DDSCAPS2_CUBEMAP_NEGATIVEX, DDSCAPS2_CUBEMAP_POSITIVEY, DDSCAPS2_CUBEMAP_NEGATIVEY, DDSCAPS2_CUBEMAP_POSITIVEZ, DDSCAPS2_CUBEMAP_NEGATIVEZ)À» Æ÷ÇÔÇÑ´Ù. º¼·ý ÅØ½ºÃ³ÀÇ °æ¿ì´Â DDSCAPS2_VOLUME ¸¦ Æ÷ÇÔÇÑ´Ù. |
| DWORD Reserved[2] |
DirectX 8.0 À¸·ÎºÎÅÍ´Â, Å¥ºê ȯ°æ ¸ÊÀ» ±â¼ú ÇÒ ¶§´Â ¹Ýµå½Ã ¸ðµç ¸éÀ» Á¤ÀÇÇÏ´Â °Í¿¡ ÁÖÀÇ ÇØ¾ß ÇÑ´Ù.