DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ¿°ÅÇü D3DTEXTUREOP [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
½ºÅ×ÀÌÁö¸¶´Ù ÅØ½ºÃ³ È¥ÇÕ Ã³¸®¸¦ Á¤ÀÇÇÑ´Ù.
±¸¹®
typedef enum _D3DTEXTUREOP {
D3DTOP_DISABLE = 1,
D3DTOP_SELECTARG1 = 2,
D3DTOP_SELECTARG2 = 3,
D3DTOP_MODULATE = 4,
D3DTOP_MODULATE2X = 5,
D3DTOP_MODULATE4X = 6,
D3DTOP_ADD = 7,
D3DTOP_ADDSIGNED = 8,
D3DTOP_ADDSIGNED2X = 9,
D3DTOP_SUBTRACT = 10,
D3DTOP_ADDSMOOTH = 11,
D3DTOP_BLENDDIFFUSEALPHA = 12,
D3DTOP_BLENDTEXTUREALPHA = 13,
D3DTOP_BLENDFACTORALPHA = 14,
D3DTOP_BLENDTEXTUREALPHAPM = 15,
D3DTOP_BLENDCURRENTALPHA = 16,
D3DTOP_PREMODULATE = 17,
D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
D3DTOP_MODULATECOLOR_ADDALPHA = 19,
D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
D3DTOP_BUMPENVMAP = 22,
D3DTOP_BUMPENVMAPLUMINANCE = 23,
D3DTOP_DOTPRODUCT3 = 24,
D3DTOP_MULTIPLYADD = 25,
D3DTOP_LERP = 26,
D3DTOP_FORCE_DWORD = 0x7fffffff
} D3DTEXTUREOP;
Á¤¼ö
- D3DTOP_DISABLE
ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¿Í º¸´Ù ³ôÀº À妽º¸¦ °¡Áö´Â ½ºÅ×ÀÌÁö·ÎºÎÅÍÀÇ Ãâ·ÂÀ» ¸ðµÎ ¹«È¿·Î ÇÑ´Ù. ÅØ½ºÃ³ ¸ÊÇÎÀ» ¹«È¿·Î ÇÏ·Á¸é , À̰ÍÀ» ÃÖÃÊÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö (½ºÅ×ÀÌÁö 0)ÀÇ Ä÷¯ 󸮷μ ¼³Á¤ÇÑ´Ù. Ä÷¯ 󸮰¡ À¯È¿ÇÏ°Ô µÇ¾î ÀÖÀ» ¶§´Â, ¾ËÆÄ 󸮸¦ ¹«È¿·Î ÇÏ´Â °ÍÀº ÇÒ ¼ö ¾ø´Ù. Ä÷¯ È¥ÇÕÀÌ À¯È¿ÇÑ °æ¿ì, ¾ËÆÄ 󸮸¦ D3DTOP_DISABLE ·Î ¼³Á¤ Çϸé, ºÎÁ¤ÀÇ µ¿ÀÛÀÌ »ý±ä´Ù.
- D3DTOP_SELECTARG1
ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ ÃÖÃÊÀÇ »ö, ¶Ç´Â ¾ËÆÄ Àμö¸¦ º¯°æÇÏÁö ¾Ê°í Ãâ·ÂÀ¸·Î¼ »ç¿ëÇÑ´Ù. ÀÌ Ã³¸®´Â, D3DTSS_COLOROP ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®·Î »ç¿ë Çϸé»öÀμö¿¡ ¿µÇâÀ» ÁÖ¾î D3DTSS_ALPHAOP ·Î »ç¿ëÇßÀ» °æ¿ì¿¡´Â ¾ËÆÄ Àμö¿¡ ¿µÇâÀ» ÁØ´Ù.
- D3DTOP_SELECTARG2
ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ 2 ¹øÂ°ÀÇ »ö, ¶Ç´Â ¾ËÆÄ Àμö¸¦ º¯°æÇÏÁö ¾Ê°í Ãâ·ÂÀ¸·Î¼ »ç¿ëÇÑ´Ù. ÀÌ Ã³¸®´Â, D3DTSS_COLOROP ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®·Î »ç¿ë Çϸé»öÀμö¿¡ ¿µÇâÀ» ÁÖ¾î D3DTSS_ALPHAOP ·Î »ç¿ëÇßÀ» °æ¿ì¿¡´Â ¾ËÆÄ Àμö¿¡ ¿µÇâÀ» ÁØ´Ù.
- D3DTOP_MODULATE
ÀμöÀÇ ¼ººÐÀ» °ö¼ÀÇÑ´Ù.
- D3DTOP_MODULATE2X
ÀμöÀÇ ¼ººÐÀ» °ö¼ÀÇØ, ±× ÀûÀ» ¿ÞÂÊÀ¸·Î 1 ºñÆ®¸¸ ½¬ÇÁÆ® (2 ·Î °ö¼ÀÇÏ´Â °ÍÀ¸·Î °°´Ù) ÇØ ¹à°Ô ÇÑ´Ù.
- D3DTOP_MODULATE4X
ÀμöÀÇ ¼ººÐÀ» °ö¼ÀÇØ, ±× ÀûÀ» ¿ÞÂÊÀ¸·Î 2 ºñÆ®¸¸ ½¬ÇÁÆ® (4 ·Î °ö¼ÀÇÏ´Â °ÍÀ¸·Î °°´Ù) ÇØ ¹à°Ô ÇÑ´Ù.
- D3DTOP_ADD
ÀμöÀÇ ¼ººÐÀ» µ¡¼À ÇÑ´Ù.
- D3DTOP_ADDSIGNED
¹ÙÀ̾°ª –0. 5 ¸¦ ÀμöÀÇ ¼ººÐ¿¡ µ¡¼À ÇØ, °ªÀÇ À¯È¿ ¹üÀ§¸¦ –0. 5 ~ 0.5 ·Î ÇÑ´Ù.
- D3DTOP_ADDSIGNED2X
¹ÙÀ̾°ª –0. 5 ¸¦ ÀμöÀÇ ¼ººÐ¿¡ µ¡¼À ÇØ, ±× ÀûÀ» ¿ÞÂÊÀ¸·Î 1 ºñÆ®¸¸ ½¬ÇÁÆ® ÇÑ´Ù.
- D3DTOP_SUBTRACT
Á¦ 1 ÀμöÀÇ ¼ººÐÀ¸·ÎºÎÅÍ, ´ëÀÀÇÏ´Â Á¦ 2 ÀμöÀÇ ¼ººÐÀ» »¬¼À ÇÑ´Ù.
- D3DTOP_ADDSMOOTH
Á¦ 1 ¹× Á¦ 2 Àμö¸¦ µ¡¼À ÇØ, ´ÙÀ½¿¡ ±× ÀûÀ» ÇÕ°è·ÎºÎÅÍ »¬¼À ÇÑ´Ù.
- D3DTOP_BLENDDIFFUSEALPHA
°¢ Á¤Á¡À¸·ÎºÎÅÍÀÇ º¸°£ ¾ËÆÄ¸¦ »ç¿ëÇØ, ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ ¼±Çü È¥ÇÕÀ» ½Ç½ÃÇÑ´Ù.
- D3DTOP_BLENDTEXTUREALPHA
ÀÌ ½ºÅ×ÀÌÁöÀÇ ÅØ½ºÃ³·ÎºÎÅÍÀÇ ¾ËÆÄ¸¦ »ç¿ëÇØ, ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ ¼±Çü È¥ÇÕÀ» ½Ç½ÃÇÑ´Ù.
- D3DTOP_BLENDFACTORALPHA
D3DRS_TEXTUREFACTOR ·»´õ¸µ ½ºÅ×ÀÌÆ®·Î ¼³Á¤ÇÑ ½ºÄ®¶ó-¾ËÆÄ¸¦ »ç¿ëÇØ, ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ ¼±Çü È¥ÇÕÀ» ½Ç½ÃÇÑ´Ù.
- D3DTOP_BLENDTEXTUREALPHAPM
¹Ì¸® °ö¼ÀµÈ ¾ËÆÄ¸¦ »ç¿ëÇÏ´Â ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ ¼±Çü È¥ÇÕÀ» ½ÇÇàÇÑ´Ù.
- D3DTOP_BLENDCURRENTALPHA
ÀüÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö·ÎºÎÅÍÀÇ ¾ËÆÄ¸¦ »ç¿ëÇØ, ÀÌ ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ ¼±Çü È¥ÇÕÀ» ½Ç½ÃÇÑ´Ù.
- D3DTOP_PREMODULATE
D3DTOP_PREMODULATE ´Â ½ºÅ×ÀÌÁö n ·Î ¼³Á¤µÈ´Ù. ½ºÅ×ÀÌÁö n ÀÇ Ãâ·ÂÀº arg1 ÀÌ´Ù. °Ô´Ù°¡ ½ºÅ×ÀÌÁö n+1 ¿¡ ÅØ½ºÃ³°¡ ÀÖ´Â °æ¿ì, ½ºÅ×ÀÌÁö n+1 ÀÇ D3DTA_CURRENT ¿¡´Â, ½ºÅ×ÀÌÁö n+1 ÀÇ ÅØ½ºÃ³°¡ ¹Ì¸® °ö¼ÀµÇ°í ÀÖ´Ù.
- D3DTOP_MODULATEALPHA_ADDCOLOR
Á¦ 1 ÀμöÀÇ ¾ËÆÄ¸¦ »ç¿ëÇØ Á¦ 2 ÀμöÀÇ »öÀ» °ö¼ÀÇØ, ±× °á°ú¸¦ Á¦ 1 Àμö¿¡ µ¡¼À ÇÑ´Ù. ÀÌ Ã³¸®´Â, Ä÷¯ ó¸® (D3DTSS_COLOROP)¿¡¼¸¸ Áö¿ø µÈ´Ù.
- D3DTOP_MODULATECOLOR_ADDALPHA
Àμö¸¦ °ö¼ÀÇØ, Á¦ 1 ÀμöÀÇ ¾ËÆÄ¸¦ µ¡¼À ÇÑ´Ù. ÀÌ Ã³¸®´Â, Ä÷¯ ó¸® (D3DTSS_COLOROP)¿¡¼¸¸ Áö¿ø µÈ´Ù.
- D3DTOP_MODULATEINVALPHA_ADDCOLOR
D3DTOP_MODULATEALPHA_ADDCOLOR ¿¡ À¯»çÇϰí ÀÖÁö¸¸, Á¦ 1 ÀμöÀÇ ¾ËÆÄÀÇ 1 ÀÇ º¸¼ö¸¦ »ç¿ëÇÑ´Ù. ÀÌ Ã³¸®´Â, Ä÷¯ ó¸® (D3DTSS_COLOROP)¿¡¼¸¸ Áö¿ø µÈ´Ù.
- D3DTOP_MODULATEINVCOLOR_ADDALPHA
D3DTOP_MODULATECOLOR_ADDALPHA ¿¡ À¯»çÇϰí ÀÖÁö¸¸, Á¦ 1 ÀμöÀÇ »öÀÇ 1 ÀÇ º¸¼ö¸¦ »ç¿ëÇÑ´Ù. ÀÌ Ã³¸®´Â, Ä÷¯ ó¸® (D3DTSS_COLOROP)¿¡¼¸¸ Áö¿ø µÈ´Ù.
- D3DTOP_BUMPENVMAP
´ÙÀ½ÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ È¯°æ ¸Ê (ÈÖµµ(Luminance) ¾øÀ½)¿¡ ÀÇÇÑ, Çȼ¿ ´ÜÀ§ÀÇ ¹üÇÁ ¸ÊÇÎÀ» ½ÇÇàÇÑ´Ù. ÀÌ Ã³¸®´Â, Ä÷¯ ó¸® (D3DTSS_COLOROP)¿¡¼¸¸ Áö¿ø µÈ´Ù.
- D3DTOP_BUMPENVMAPLUMINANCE
´ÙÀ½ÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ È¯°æ ¸Ê (ÈÖµµ(Luminance) ÀÖ¾î)¿¡ ÀÇÇÑ, Çȼ¿ ´ÜÀ§ÀÇ ¹üÇÁ ¸ÊÇÎÀ» ½ÇÇàÇÑ´Ù. ÀÌ Ã³¸®´Â, Ä÷¯ ó¸® (D3DTSS_COLOROP)¿¡¼¸¸ Áö¿ø µÈ´Ù.
- D3DTOP_DOTPRODUCT3
°¢ ÀμöÀÇ ¿ä¼Ò¸¦ (ºÎÈ£ºÎ ¿ä¼Ò·Î¼) °ö¼ÀÇØ ÀûÀ» µ¡¼À ÇØ, ¾òÀ» ¼ö ÀÖ´ø ÇÕ°è°ªÀ» ¸ðµç Ä÷¯ ä³Î¿¡, ¾ËÆÄ¸¦ Æ÷ÇÔÇØ º¹Á¦ÇÑ´Ù. ÀÌ Ã³¸®°¡ Áö¿ø µÇ´Â °ÍÀº Ä÷¯ ó¸®¿Í ¾ËÆÄ 󸮿¡ ´ëÇØ¼ÀÌ´Ù.
Microsoft® DirectX® 6.0 ¹× DirectX 7.0 ÀÇ ¸ÖƼ ÅØ½ºÃ³ 󸮿¡¼´Â, À§ÀÇ ÀÔ·ÂÀº, ºÎÈ£ ÷ºÎ µ¥ÀÌÅ͸¦ ½Ã¹Ä·¹ÀÌÆ® Çϱâ À§ÇÑ(ÇØ), »ç¿ëÇϱâ Àü¿¡ ¸ðµÎ 0.5 ½¬ÇÁÆ® ÇÑ´Ù (y = x - 0.5). °á°úÀÇ ½ºÄ®¶ó-´Â, Á¤ÀÇ °ª¿¡ Á¦ÇѵǾî 3 °³ÀÇ Ãâ·Â ä³Î ¸ðµÎ¿¡°Ô º¹Á¦µÈ´Ù. ¶Ç, Ä÷¯ 󸮷μ´Â, rgb ¼ººÐÀ» °»½ÅÇÑ ¾ËÆÄ¸¦ °»½ÅÇÏÁö ¾Ê±â ¶§¹®¿¡ ÁÖÀÇ ÇØ¾ß ÇÑ´Ù.
´Ù¸¸, DirectX 8.1 ¼ÎÀÌ´õ¿¡¼´Â, Ãâ·ÂÀ» . rgb ¼ººÐ ¶Ç´Â . a ¼ººÐ, ȤÀº ±× ¾çÂÊ ¸ðµÎ (µðÆúÆ®)¿¡ ·çÆÃ ÇÏ´Â °ÍÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¾ËÆÄ ä³Î·Î °³º°ÀÇ ½ºÄ®¶ó-ó¸®ÀÇ ÁöÁ¤µµ °¡´ÉÇÏ´Ù.
- D3DTOP_MULTIPLYADD
ÀûÈ¿¬»êÀ» ½ÇÇàÇÑ´Ù. ¸¶Áö¸· 2 °³ÀÇ Àμö¸¦ ÃëÇØ, À̰͵éÀ» °ö¼ÀÇØ, ³ª¸ÓÁöÀÇ ÀÔ·Â/¼Ò½º Àμö¿¡ µ¡¼À ÇØ, À̰ÍÀ» °á°ú¿¡ ¹èÄ¡ÇÑ´Ù.
SRGBA= Arg1 + Arg2 * Arg3
- D3DTOP_LERP
Á¦ 1 ¼Ò½º Àμö·Î ÁöÁ¤µÈ ºñÀ²·Î, Á¦ 2 ¹× Á¦ 3 ¼Ò½º ÀμöÀÇ »çÀ̸¦ ¼±Çü º¸°£ ÇÑ´Ù.
SRGBA= (S>RGBAArg1) * Arg2 + (1- Arg1) * Arg3.
- D3DTOP_FORCE_DWORD
ÀÌ ¿°ÅÇüÀ» °Á¦ÀûÀ¸·Î 32 ºñÆ® »çÀÌÁî¿¡ ÄÄÆÄÀÏ ÇÑ´Ù. ÀÌ °ªÀº »ç¿ëµÇÁö ¾Ê´Ù.
ÁÖÀÇ
ÀÌ ¿°ÅÇüÀÇ ¸â¹ö´Â, D3DTSS_COLOROP ¶Ç´Â D3DTSS_ALPHAOP °ªÀ¸·Î IDirect3DDevice9::SetTextureStageState ¸Þ¼µå¸¦ È£ÃâÇØ Ä÷¯ ó¸® ¶Ç´Â ¾ËÆÄ 󸮸¦ ¼³Á¤ÇÒ ¶§¿¡ »ç¿ëÇÑ´Ù.
À§¿¡ÀǽĿ¡¼´Â, SRGBA ´Â ÅØ½ºÃ³ 󸮷Π»ý¼º µÇ´Â RGBA »ö, Arg1,Arg2, ¹× Arg3 ´Â ÅØ½ºÃ³ ÀμöÀÇ ¿ÏÀü RGBA »öÀÌ´Ù. ÀμöÀÇ °¢°¢ÀÇ ¼ººÐÀº, ÷ÀÚ¸¦ ºÙ¿© Ç¥±âµÈ´Ù. ¿¹¸¦ µé¾î, Àμö 1 ÀÇ ¾ËÆÄ ¼ººÐÀº Arg1A ·Î¼ ³ªÅ¸³½´Ù.
¿°ÅÇüÀÇ Á¤º¸
Çì´õ d3d9types.h ÃÖÀúÇÑÀÇ operating system Windows 98
ÂüÁ¶
D3DTEXTURESTAGESTATETYPE