DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ¿°ÅÇü D3DTEXTURESTAGESTATETYPE [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®¸¦ Á¤ÀÇÇÑ´Ù.
±¸¹®
typedef enum _D3DTEXTURESTAGESTATETYPE {
D3DTSS_COLOROP = 1,
D3DTSS_COLORARG1 = 2,
D3DTSS_COLORARG2 = 3,
D3DTSS_ALPHAOP = 4,
D3DTSS_ALPHAARG1 = 5,
D3DTSS_ALPHAARG2 = 6,
D3DTSS_BUMPENVMAT00 = 7,
D3DTSS_BUMPENVMAT01 = 8,
D3DTSS_BUMPENVMAT10 = 9,
D3DTSS_BUMPENVMAT11 = 10,
D3DTSS_TEXCOORDINDEX = 11,
D3DTSS_BUMPENVLSCALE = 22,
D3DTSS_BUMPENVLOFFSET = 23,
D3DTSS_TEXTURETRANSFORMFLAGS = 24,
D3DTSS_COLORARG0 = 26,
D3DTSS_ALPHAARG0 = 27,
D3DTSS_RESULTARG = 28,
D3DTSS_CONSTANT = 32,
D3DTSS_FORCE_DWORD = 0x7fffffff
} D3DTEXTURESTAGESTATETYPE;
Á¤¼ö
- D3DTSS_COLOROP
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â ÅØ½ºÃ³ Ä÷¯ È¥ÇÕ Ã³¸®À̸ç,D3DTEXTUREOP ¿°ÅÇüÀÇ ¸â¹ö¿¡ ÀÇÇØ ½Äº°µÈ´Ù. ÃÖÃÊÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö (½ºÅ×ÀÌÁö 0)ÀÇ µðÆúÆ®°ªÀº D3DTOP_MODULATE À̸ç, ±× ÀÌ¿ÜÀÇ ¸ðµç ½ºÅ×ÀÌÁöÀÇ µðÆúÆ®°ªÀº D3DTOP_DISABLE ÀÌ´Ù.
- D3DTSS_COLORARG1
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â, ±× ½ºÅ×ÀÌÁö¿¡ ´ëÇÑ ÃÖÃÊÀÇ »öÀμöÀ̸ç,D3DTA ÀÇ ¾î´À ÂÊÀΰ¡¿¡º¸´Ù ³ªÅ¸³´Ù. µðÆúÆ®ÀÇ Àμö´Â D3DTA_TEXTURE ÀÌ´Ù.
ÀÐ°í ¾²±â¿ëÀÇ Àӽà ·¹Áö½ºÅÍÀÇ »öÀ» ¼±ÅÃÇÏ·Á¸é , D3DTA_TEMP ¸¦ ÁöÁ¤ÇÑ´Ù. D3DTA_TEMP ´Â, D3DPMISCCAPS_TSSARGTEMP ÀåÄ¡ ´É·ÂÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ Áö¿ø µÈ´Ù. ÀÌ ·¹Áö½ºÅÍÀÇ µðÆúÆ®°ªÀº, (0.0, 0.0, 0.0, 0.0)ÀÌ´Ù.
- D3DTSS_COLORARG2
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â, ±× ½ºÅ×ÀÌÁö¿¡ ´ëÇÑ 2 ¹øÂ°ÀÇ »öÀμöÀ̸ç,D3DTA ¿¡ ÀÇÇØ ½Äº°µÈ´Ù. µðÆúÆ®ÀÇ Àμö´Â D3DTA_CURRENT ÀÌ´Ù. ÀÐ°í ¾²±â¿ëÀÇ Àӽà ·¹Áö½ºÅÍÀÇ »öÀ» ¼±ÅÃÇÏ·Á¸é , D3DTA_TEMP ¸¦ ÁöÁ¤ÇÑ´Ù. D3DTA_TEMP ´Â, D3DPMISCCAPS_TSSARGTEMP ÀåÄ¡ ´É·ÂÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ Áö¿ø µÈ´Ù. ÀÌ ·¹Áö½ºÅÍÀÇ µðÆúÆ®°ªÀº, (0.0, 0.0, 0.0, 0.0)ÀÌ´Ù.
- D3DTSS_ALPHAOP
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â, ÅØ½ºÃ³ ¾ËÆÄ È¥ÇÕ Ã³¸®À̸ç,D3DTEXTUREOP ¿°ÅÇüÀÇ ¸â¹ö¿¡ ÀÇÇØ ½Äº°µÈ´Ù. ÃÖÃÊÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö (½ºÅ×ÀÌÁö 0)ÀÇ µðÆúÆ®°ªÀº D3DTOP_SELECTARG1 À̸ç, ±× ÀÌ¿ÜÀÇ ¸ðµç ½ºÅ×ÀÌÁöÀÇ µðÆúÆ®°ªÀº D3DTOP_DISABLE ÀÌ´Ù.
- D3DTSS_ALPHAARG1
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â, ±× ½ºÅ×ÀÌÁö¿¡ ´ëÇÑ ÃÖÃÊÀÇ ¾ËÆÄ ÀμöÀ̸ç,D3DTA ¿¡ ÀÇÇØ ½Äº°µÈ´Ù. µðÆúÆ®ÀÇ Àμö´Â D3DTA_TEXTURE ÀÌ´Ù. ±× ½ºÅ×ÀÌÁö¿¡ ÅØ½ºÃ³°¡ ¼³Á¤µÇÁö ¾ÊÀº °æ¿ì´Â, D3DTA_DIFFUSE °¡ µðÆúÆ®ÀÇ Àμö°¡ µÈ´Ù. ÀÐ°í ¾²±â¿ëÀÇ Àӽà ·¹Áö½ºÅÍÀÇ »öÀ» ¼±ÅÃÇÏ·Á¸é , D3DTA_TEMP ¸¦ ÁöÁ¤ÇÑ´Ù. D3DTA_TEMP ´Â, D3DPMISCCAPS_TSSARGTEMP ÀåÄ¡ ´É·ÂÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ Áö¿ø µÈ´Ù. ÀÌ ·¹Áö½ºÅÍÀÇ µðÆúÆ®°ªÀº, (0.0, 0.0, 0.0, 0.0)ÀÌ´Ù.
- D3DTSS_ALPHAARG2
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â, ½ºÅ×ÀÌÁöÀÇ 2 ¹øÂ°ÀÇ ¾ËÆÄ ÀμöÀ̸ç,D3DTA ¿¡ ÀÇÇØ ½Äº°µÈ´Ù. µðÆúÆ®ÀÇ Àμö´Â D3DTA_CURRENT ÀÌ´Ù. ÀÐ°í ¾²±â¿ëÀÇ Àӽà ·¹Áö½ºÅÍÀÇ »öÀ» ¼±ÅÃÇÏ·Á¸é , D3DTA_TEMP ¸¦ ÁöÁ¤ÇÑ´Ù. D3DTA_TEMP ´Â, D3DPMISCCAPS_TSSARGTEMP ÀåÄ¡ ´É·ÂÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ Áö¿ø µÈ´Ù. ÀÌ ·¹Áö½ºÅÍÀÇ µðÆúÆ®°ªÀº, (0.0, 0.0, 0.0, 0.0)ÀÌ´Ù.
- D3DTSS_BUMPENVMAT00
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â, ¹üÇÁ ¸ÊÇÎ Çà·ÄÀÇ [0][0] °è¼ö¿¡ ´ëÇÑ ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ´Ù. µðÆúÆ®°ªÀº 0.0 ÀÌ´Ù.
- D3DTSS_BUMPENVMAT01
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â, ¹üÇÁ ¸ÊÇÎ Çà·ÄÀÇ [0][1] °è¼ö¿¡ ´ëÇÑ ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ´Ù. µðÆúÆ®°ªÀº 0.0 ÀÌ´Ù.
- D3DTSS_BUMPENVMAT10
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â, ¹üÇÁ ¸ÊÇÎ Çà·ÄÀÇ [1][0] °è¼ö¿¡ ´ëÇÑ ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ´Ù. µðÆúÆ®°ªÀº 0.0 ÀÌ´Ù.
- D3DTSS_BUMPENVMAT11
ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â, ¹üÇÁ ¸ÊÇÎ Çà·ÄÀÇ [1][1] °è¼ö¿¡ ´ëÇÑ ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ´Ù. µðÆúÆ®°ªÀº 0.0 ÀÌ´Ù.
- D3DTSS_TEXCOORDINDEX
ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¿¡¼ »ç¿ëÇϱâ À§Çؼ(¶§¹®¿¡) ¼³Á¤µÈ ÅØ½ºÃ³ ÁÂÇ¥ÀÇ À妽º. Á¤Á¡ 1 °³¿¡ ´ëÇØ¼ ÃÖ´ë 8 ¼¼Æ®±îÁöÀÇ ÅØ½ºÃ³ ÁÂÇ¥¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. Á¤Á¡ÀÌ, ÁöÁ¤µÈ À妽ºÀÇ ÅØ½ºÃ³ ÁÂÇ¥ ¼¼Æ®¸¦ Æ÷ÇÔÇÏÁö ¾ÊÀº °æ¿ì´Â, u ¹× v ÁÂÇ¥ (0,0)°¡ µðÆúÆ®·Î »ç¿ëµÈ´Ù.
ÀÌ Ç÷¡±×´Â, °íÁ¤ ±â´É Á¤Á¡ 󸮿¡¼¸¸ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, Á¤Á¡ ¼ÎÀÌ´õ¿¡¼´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù. Á¤Á¡ ¼ÎÀÌ´õ¸¦ »ç¿ëÇØ ·»´õ¸µ ÇÒ ¶§´Â, °¢ ½ºÅ×ÀÌÁöÀÇ ÅØ½ºÃ³ À妽º¸¦ µðÆúÆ®°ªÀ¸·Î ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù. °¢ ½ºÅ×ÀÌÁöÀÇ µðÆúÆ®ÀÇ À妽º´Â, ½ºÅ×ÀÌÁö À妽º¿Í °°´Ù. ÀÌ ½ºÅ×ÀÌÆ®¿¡´Â, ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¿¡¼ »ç¿ëÇÏ´Â °¢ Á¤Á¡¿¡ ´ëÇÑ ÁÂÇ¥ ¼¼Æ®ÀÇ Á¦·Î·ÎºÎÅÍ ½ÃÀ۵Ǵ À妽º¸¦ ¼³Á¤ÇÑ´Ù.
¶Ç, ¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â, ¼³Á¤ÇÏ´Â À妽º¿ÍÀÇ ³í¸®È·Î¼ ¸î°³ÀÇ Á¤¼ö¸¦ ¼³Á¤ÇØ, ÅØ½ºÃ³ º¯È¯¿ëÀÇ ÀÔ·Â ÅØ½ºÃ³ ÁÂÇ¥¸¦ ÀÚµ¿ÀûÀ¸·Î »ý¼ºÇϵµ·Ï(µíÀÌ) Microsoft® Direct3D® ¿¡ ¿ä±¸ÇÒ ¼ö ÀÖ´Ù. ¸ðµç Á¤¼öÀÇ À϶÷¿¡ ´ëÇØ¼´Â, ¡¸D3DTSS_TCI ¡¹¸¦ ÂüÁ¶ÇÒ°Í.
Á¦·Î¿¡ ÇØ°áµÇ´Â D3DTSS_TCI_PASSTHRU ¸¦ Á¦¿ÜÇØ, ¼³Á¤µÇ´Â À妽º¿Í ÀÌÇÏÀÇ Ç÷¡±×ÀÇ ¾î´ÀÂÊÀ̵çÀ» »ç¿ëÇϸé ÅØ½ºÃ³ ·¦ÇÎ ¸ðµåÀÇ °áÁ¤¿¡ À妽º°¡ ¾ö¹ÐÇÏ°Ô »ç¿ëµÈ´Ù. ÀÌ Ç÷¡±×´Â ȯ°æ ¸ÊÇÎÀ» ½Ç½ÃÇÏ´Â °æ¿ì´Â ƯÈ÷ À¯È¿ÇÏ´Ù.
- D3DTSS_BUMPENVLSCALE
¹üÇÁ ¸Ê ÈÖµµ(Luminance)¿¡ »ç¿ëÇÏ´Â ºÎµ¿ ¼Ò¼öÁ¡¼ö(½Ç¼ö)ÀÇ ½ºÄÉÀϰª. µðÆúÆ®°ªÀº 0.0 ÀÌ´Ù.
- D3DTSS_BUMPENVLOFFSET
¹üÇÁ ¸Ê ÈÖµµ(Luminance)¿¡ »ç¿ëÇÏ´Â ºÎµ¿ ¼Ò¼öÁ¡¼ö(½Ç¼ö)ÀÇ ¿ÀÇÁ¼Â(offset). µðÆúÆ®°ªÀº 0.0 ÀÌ´Ù.
- D3DTSS_TEXTURETRANSFORMFLAGS
D3DTEXTURETRANSFORMFLAGS ¿°ÅÇüÀÇ ¸â¹ö. ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ ÅØ½ºÃ³ ÁÂÇ¥ÀÇ º¯È¯À» Á¦¾îÇÑ´Ù. µðÆúÆ®°ªÀº, D3DTTFF_DISABLE ÀÌ´Ù.
- D3DTSS_COLORARG0
3Ç׿¬»ê (ÀûÈ¿Í ¼±Çü º¸°£)ÀÇ 3 ¹øÂ°ÀÇ »ö¿ÀÆÛ·£µåÀÇ ¼³Á¤. D3DTA ¿¡ ÀÇÇØ ½Äº°µÈ´Ù. ÀÌ ¼³Á¤Àº, D3DTEXOPCAPS_MULTIPLYADD ¶Ç´Â D3DTEXOPCAPS_LERP ÀåÄ¡ ´É·ÂÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ Áö¿ø µÈ´Ù. µðÆúÆ®ÀÇ Àμö´Â D3DTA_CURRENT ÀÌ´Ù. ÀÐ°í ¾²±â¿ëÀÇ Àӽà ·¹Áö½ºÅÍÀÇ »öÀ» ¼±ÅÃÇÏ·Á¸é , D3DTA_TEMP ¸¦ ÁöÁ¤ÇÑ´Ù. D3DTA_TEMP ´Â, D3DPMISCCAPS_TSSARGTEMP ÀåÄ¡ ´É·ÂÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ Áö¿ø µÈ´Ù. ÀÌ ·¹Áö½ºÅÍÀÇ µðÆúÆ®°ªÀº, (0.0, 0.0, 0.0, 0.0)ÀÌ´Ù.
- D3DTSS_ALPHAARG0
3Ç׿¬»ê (ÀûÈ¿Í ¼±Çü º¸°£)ÀÇ ¾ËÆÄ ä³Î ½Ç·ºÅÍ ¿ÀÆÛ·£µåÀÇ ¼³Á¤. D3DTA ¿¡ ÀÇÇØ ½Äº°µÈ´Ù. ÀÌ ¼³Á¤Àº, D3DTEXOPCAPS_MULTIPLYADD ¶Ç´Â D3DTEXOPCAPS_LERP ÀåÄ¡ ´É·ÂÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ Áö¿ø µÈ´Ù. µðÆúÆ®ÀÇ Àμö´Â D3DTA_CURRENT ÀÌ´Ù. ÀÐ°í ¾²±â¿ëÀÇ Àӽà ·¹Áö½ºÅÍÀÇ »öÀ» ¼±ÅÃÇÏ·Á¸é , D3DTA_TEMP ¸¦ ÁöÁ¤ÇÑ´Ù. D3DTA_TEMP ´Â, D3DPMISCCAPS_TSSARGTEMP ÀåÄ¡ ´É·ÂÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ Áö¿ø µÈ´Ù. µðÆúÆ®ÀÇ Àμö´Â, (0.0, 0.0, 0.0, 0.0)ÀÌ´Ù.
- D3DTSS_RESULTARG
ÀÌ ½ºÅ×ÀÌÁöÀÇ °á°úÀÇ Ãâ·Â ·¹Áö½ºÅ͸¦ ¼±ÅÃÇϱâ À§ÇÑ ¼³Á¤. D3DTA ¿¡ ÀÇÇØ ½Äº°µÈ´Ù. ÀÌ °ªÀº, D3DTA_CURRENT (µðÆúÆ®°ª) ¶Ç´Â D3DTA_TEMP ·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. D3DTA_TEMP ´Â, ÀÔ·Â Àμö·Î¼ ÀÌÈÄÀÇ ½ºÅ×ÀÌÁö¿¡ ÀоîµéÀÏ ¼ö°¡ ÀÖ´Â ´ÜÀÏÀÇ Àӽà ·¹Áö½ºÅÍÀÌ´Ù. Æ÷±×(¾È°³:fog) ºí·»´õ ¹× frame buffer¿¡°Ô °Ç³×Áö´Â ÃÖÁ¾ÀûÀÎ »öÀº D3DTA_CURRENT ·ÎºÎÅÍ ¾ò¾î¿Â´ÙÀÇ °ÍÀ¸·Î, ¸¶Áö¸·¿¡ ¾×ƼºêÇÑ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®´Â ÇöÀç¿¡ÀÇ ¾²±â·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù. ÀÌ ¼³Á¤Àº, D3DPMISCCAPS_TSSARGTEMP ÀåÄ¡ ´É·ÂÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ Áö¿ø µÈ´Ù.
- D3DTSS_CONSTANT
½ºÅ×ÀÌÁö¸¶´Ù Á¤¼ö Ä÷¯. ÀåÄ¡°¡ ½ºÅ×ÀÌÁö¸¶´Ù Á¤¼ö Ä÷¯¸¦ Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ È®ÀÎÇÏ·Á¸é ,D3DPMISCCAPS ÀÇ D3DPMISCCAPS_PERSTAGECONSTANT Á¤¼ö¸¦ Á¶»çÇÑ´Ù. D3DTSS_CONSTANT ´Â D3DTA_CONSTANT ·Î »ç¿ëÇÑ´Ù. ¡¸D3DTA ¡¹¸¦ ÂüÁ¶ÇÒ°Í.
- D3DTSS_FORCE_DWORD
ÀÌ ¿°ÅÇüÀ» °Á¦ÀûÀ¸·Î 32 ºñÆ® »çÀÌÁî¿¡ ÄÄÆÄÀÏ ÇÑ´Ù. ÀÌ °ªÀº »ç¿ëµÇÁö ¾Ê¾Ò´Ù.
ÁÖÀÇ
ÀÌ ¿°ÅÇüÀÇ ¸â¹ö´Â, ÅØ½ºÃ³ ½ºÅ×ÀÌÆ®°ªÀ» Ãëµæ ¹× ¼³Á¤Çϱâ À§Çؼ IDirect3DDevice9::GetTextureStageState ¸Þ¼µå ¹× IDirect3DDevice9::SetTextureStageState ¸Þ¼µå·Î »ç¿ëÇÑ´Ù.
D3DTSS_BUMPENVMAT00, D3DTSS_BUMPENVMAT01, D3DTSS_BUMPENVMAT10, ¹× D3DTSS_BUMPENVMAT11 ÀÇ °¢ ¹üÇÁ ¸ÊÇÎ Çà·Ä °è¼öÀÇ À¯È¿ ¹üÀ§´Â,-8. 0 ÀÌ»ó 8.0 ¹Ì¸¸ÀÌ´Ù. ÀÌ ¹üÀ§´Â, ¼öÇÐÀûÀ¸·Î´Â [-8. 0,8.0)°ú Ç¥±âÇÑ´Ù.
¿°ÅÇüÀÇ Á¤º¸
Çì´õ d3d9types.h ÃÖÀúÇÑÀÇ operating system Windows 98
ÂüÁ¶
IDirect3DDevice9::GetTextureStageState ,IDirect3DDevice9::SetTextureStageState