DirectX Graphics ·¹ÆÛ·±½º ¼ÎÀÌ´õ ·¹ÆÛ·±½º Á¤Á¡ ¼ÎÀÌ´õ 3_0 Á¤Á¡ ÅØ½ºÃ³   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
Á¤Á¡ ÅØ½ºÃ³
 
Microsoft DirectX 9.0

Á¤Á¡ ÅØ½ºÃ³


ÀÌ ¼ÎÀÌ´õ ¸ðµ¨Àº,texldl ¸¦ »ç¿ëÇÑ Á¤Á¡ ¼ÎÀÌ´õ¿¡ ÀÇÇÑ ÅØ½ºÃ³ ·è ¾÷À» Áö¿ø ÇÑ´Ù. Á¤Á¡ ¿£Áø¿¡´Â, 4 °³ÀÇ ÅØ½ºÃ³ »ùÇ÷¯ ½ºÅ×ÀÌÁö°¡ Æ÷ÇÔµÇ¾î ±× À̸§Àº D3DVERTEXTEXTURESAMPLER, D3DVERTEXTEXTURESAMPLER+1, D3DVERTEXTEXTURESAMPLER+2, ¹× D3DVERTEXTEXTURESAMPLER+3 ÀÌ´Ù. À̰͵éÀº, Çȼ¿ ¿£ÁøÀÇ µð½ºÇ÷¹À̽º¸ÕÆ® ¸Ê »ùÇ÷¯³ª ÅØ½ºÃ³ »ùÇ÷¯¿Í´Â ´Ù¸£´Ù.

À̰͵é 4 °³ÀÇ ½ºÅ×ÀÌÁö·Î ¼³Á¤µÈ ÅØ½ºÃ³´Â, Á¤Á¡ ¿£ÁøÀ» »ç¿ëÇØ »ùÇøµ ÇÒ ¼ö ÀÖ¾î ½ºÅ×ÀÌÁö´Â IDirect3D9::CheckDeviceFormat ¸¦ »ç¿ëÇØ ÇÁ·Î±×·¡¹Ö ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ½ºÅ×ÀÌÁö¿¡ ÅØ½ºÃ³¸¦ ¼³Á¤ÇÏ·Á¸é , ½ºÅ×ÀÌÁö À妽º D3DVERTEXTEXTURESAMPLER ~ D3DVERTEXTEXTURESAMPLER+3 °ú ÇÔ²²,IDirect3DDevice9::SetTexture ¸¦ »ç¿ëÇÑ´Ù. »õ·Î¿î ·¹Áö½ºÅͷμ­ »ùÇ÷¯ ·¹Áö½ºÅͰ¡ Á¤Á¡ ¼ÎÀÌ´õ¿¡ µµÀԵǾú´Ù. ÀÌ ·¹Áö½ºÅÍ´Â, ps_2_0 ¿Í °°ÀÌ, Á¤Á¡ ÅØ½ºÃ³ »ùÇ÷¯¸¦ ³ªÅ¸³½´Ù. ÀÌ ·¹Áö½ºÅÍ´Â, »ç¿ëÀü¿¡ ¼ÎÀÌ´õ·Î Á¤ÀÇÇÒ Çʿ䰡 ÀÖ´Ù.

¾ÖÇø®ÄÉÀ̼ÇÀº D3DUSAGE_QUERY_VERTEXTEXTURE ¿Í ÇÔ²² IDirect3D9::CheckDeviceFormat ¸¦ È£ÃâÇØ, Æ÷¸ËÀÌ Á¤Á¡ ÅØ½ºÃ³·Î¼­ Áö¿ø µÇ°í ÀÖ´ÂÁö¸¦ ¹®ÀÇÇÒ ¼ö°¡ ÀÖ´Ù.

ÁÖ  À̰͵éÀº ¹®ÀÇ Ç÷¡±×À̹ǷÎ,Createxxx ÇÔ¼ö¿¡¼­´Â »ç¿ëÇÒ ¼ö ¾ø´Ù. POOL_DEFAULT ·Î »ý¼º µÈ Á¤Á¡ ÅØ½ºÃ³´Â, Çȼ¿ ÅØ½ºÃ³·Î¼­ ¼³Á¤ÇÒ ¼ö ÀÖ¾î ±× ¿ªµµ °¡´ÉÇÏ´Ù. ´Ù¸¸, ¼ÒÇÁÆ®¿þ¾î Á¤Á¡ 󸮸¦ »ç¿ëÇϱâ À§Çؼ­(¶§¹®¿¡)´Â, ¹Í½º ¸ðµå ÀåÄ¡ÀÏ±î ¼ÒÇÁÆ®¿þ¾î Á¤Á¡ ó¸® ÀåÄ¡Àϱ ºÒ¹®Çϰí, Á¤Á¡ ÅØ½ºÃ³´Â POOL_SCRATCH ·Î »ý¼º ÇØ¾ß ÇÑ´Ù.

ÀÌ ±â´ÉÀº, ´ÙÀ½ÀÇ Á¡À» Á¦¿ÜÇØ, Çȼ¿ ÅØ½ºÃ³¿Í °°´Ù.

´ÙÀ½°ú °°Àº Á¦ÇÑÀÌ ÀÖ´Ù.

»ùÇøµ ½ºÅ×ÀÌÁö ·¹Áö½ºÅÍ

»ùÇøµ ½ºÅ×ÀÌÁö ·¹Áö½ºÅÍ´Â, ÅØ½ºÃ³ ·Îµå¹®À¸·Î »ç¿ëÇÏ´Â »ùÇøµ À¯´ÏÆ®¸¦ ÁöÁ¤ÇÑ´Ù. »ùÇøµ À¯´ÏÆ®´Â ÅØ½ºÃ³ »ùÇøµ ½ºÅ×ÀÌÁö¿¡ ´ëÀÀÇØ,IDirect3DDevice9::SetSamplerState ·Î ÁöÁ¤µÇ´Â »ùÇøµ °íÀ¯ÀÇ ½ºÅ×ÀÌÆ®¸¦ ĸ½¶È­ÇÑ´Ù.

°¢°¢ÀÇ »ùÇ÷¯´Â, ´ëÀÀÇÏ´Â »ùÇ÷¯¿¡ IDirect3DDevice9::SetTexture ¸¦ »ç¿ëÇØ ¼³Á¤µÈ ´ÜÀÏÀÇ ÅØ½ºÃ³ Ç¥¸éÀ» ÀÏÀÇ·Î ÁöÁ¤ÇÑ´Ù. ´Ù¸¸, °°Àº ÅØ½ºÃ³ Ç¥¸éÀ» º¹¼öÀÇ »ùÇ÷¯·Î ¼³Á¤ÇÏ´Â °ÍÀº °¡´ÉÇÏ´Ù.

ÅØ½ºÃ³´Â, µå·ÎÀ×(Drawing)½Ã¿¡´Â ·»´õ¸µ Ÿ°Ù ¹× ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¿¡ µ¿½Ã¿¡ ¼³Á¤ÇÒ ¼ö ¾ø´Ù.

vs_3_0 ¿¡¼­´Â 4 °³ÀÇ »ùÇ÷¯¸¦ Áö¿ø ÇϹǷÎ, 1 °³ÀÇ ¼ÎÀÌ´õ ÆÐ½º·Î, ÃÖ´ë 4 °³ÀÇ ÅØ½ºÃ³ Ç¥¸éÀ» Àо ¼ö°¡ ÀÖ´Ù. »ùÇ÷¯ ·¹Áö½ºÅÍ´Â, ÅØ½ºÃ³ ·Îµå¹® texldl ÀÇ Àμö·Î¼­ÀÇ º¸°í Ç¥½ÃµÈ´Ù.

vs_3_0 ¿¡¼­´Â, »ùÇ÷¯¸¦ »ç¿ëÇÏ´Â °æ¿ì, ps_2_0 ¿Í °°ÀÌ dcl_textureType ¸¦ »ç¿ëÇØ, ¼ÎÀÌ´õ ÇÁ·Î±×·¥ÀÇ ÃÖÃÊ·Î »ùÇ÷¯¸¦ ¼±¾ðÇÒ Çʿ䰡 ÀÖ´Ù.

¼ÒÇÁÆ®¿þ¾î ó¸®

ÀÌ ±â´ÉÀº, ¼ÒÇÁÆ®¿þ¾î Á¤Á¡ 󸮷ΠÁö¿ø µÈ´Ù. Áö¿ø µÇ´Â ÇÊÅÍÀÇ Á¾·ù¸¦ Á¶»çÇÏ·Á¸é ,IDirect3DDevice9::GetDeviceCaps ¸¦ È£ÃâÇØ,D3DCAPS9 ÀÇ VertexTextureFilterCaps ¸â¹ö¸¦ Á¶»çÇÑ´Ù. °ø°³ ³¡³­ ¸ðµç ÅØ½ºÃ³ Æ÷¸ËÀº, ¼ÒÇÁÆ®¿þ¾î Á¤Á¡ 󸮷ΠÁ¤Á¡ ÅØ½ºÃ³·Î¼­ Áö¿ø µÈ´Ù.

¼ÒÇÁÆ®¿þ¾î Á¤Á¡ ó¸® ¸ðµå·Î ƯÁ¤ÀÇ ÅØ½ºÃ³ Æ÷¸ËÀÌ Áö¿ø µÇ°í ÀÖ´ÂÁö¸¦ ¾ÖÇø®ÄÉÀ̼ÇÀÌ Á¶»çÇÏ·Á¸é ,IDirect3D9::CheckDeviceFormat ¸¦ È£ÃâÇØ, »ç¿ë ¼³Á¤À¸·Î¼­ (D3DUSAGE_QUERY_VERTEXTEXTURE | D3DUSAGE_SOFTWAREPROCESSING)¸¦ ÁöÁ¤ÇÑ´Ù. ¸ðµç Æ÷¸ËÀº ¼ÒÇÁÆ®¿þ¾î Á¤Á¡ 󸮷ΠÁö¿ø µÈ´Ù. ¼ÒÇÁÆ®¿þ¾î Á¤Á¡ 󸮿¡´Â POOL_SCRATCH °¡ ÇÊ¿äÇÏ´Ù.

API ÀÇ º¯°æ

	
// New define
#define D3DVERTEXTEXTURESAMPLER0 (D3DDMAPSAMPLER+1)
#define D3DVERTEXTEXTURESAMPLER1 (D3DDMAPSAMPLER+2)
#define D3DVERTEXTEXTURESAMPLER2 (D3DDMAPSAMPLER+3)
#define D3DVERTEXTEXTURESAMPLER3 (D3DDMAPSAMPLER+4)
    
// New usage
#define D3DUSAGE_QUERY_VERTEXTEXTURE  (0x00100000L)

// New caps field in D3DCAPS9
DWORD VertexTextureFilterCaps;


© 2002 Microsoft Corporation. All rights reserved.
¡èTOP