DirectX Graphics ·¹ÆÛ·±½º ¼ÎÀÌ´õ ·¹ÆÛ·±½º Çȼ¿ ¼ÎÀÌ´õ 1_X ·¹Áö½ºÅÍ - ps_1_X [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
Çȼ¿ ¼ÎÀÌ´õ´Â, Á¤Á¡ µ¥ÀÌÅ͸¦ ÃëµæÇØ, Çȼ¿ µ¥ÀÌÅ͸¦ ·¡½ºÅͶóÀÌÀú¿¡ Ãâ·ÂÇØ, °è»êÁß¿¡ ÀϽÃÀûÀÎ °á°ú¸¦ ÀúÀå ÇØ, ÅØ½ºÃ³ »ùÇøµ ½ºÅ×ÀÌÁö¸¦ ½Äº°Çϱâ À§Çؼ, ·¹Áö½ºÅ͸¦ »ç¿ëÇÑ´Ù. ·¹Áö½ºÅÍ¿¡´Â ¸î°³ÀÇ Á¾·ù°¡ ÀÖ¾î, Á¾·ù ¸¶´Ù °íÀ¯ÀÇ ±â´ÉÀÌ ÀÖ´Ù. ¿©±â¿¡¼´Â, Çȼ¿ ¼ÎÀÌ´õ ¹öÀü 1_X °¡ ó¸® ÇÏ´Â ÀÔ·Â ·¹Áö½ºÅÍ¿Í Ãâ·Â ·¹Áö½ºÅÍ¿¡ ´ëÇÑ ·¹ÆÛ·±½º Á¤º¸¸¦ ±â¼úÇÑ´Ù.
·¹Áö½ºÅÍ´Â, Çȼ¿ ¼ÎÀÌ´õ°¡ »ç¿ëÇÏ´Â µ¥ÀÌÅ͸¦ º¸°ü À¯ÁöÇÑ´Ù. ÀÌ·¯ÇÑ ÆäÀÌÁö¿¡ ´ëÇØ¼´Â, ÀÌÇÏ·Î ¼³¸íÇÑ´Ù.
| ¹öÀü | |||||
|---|---|---|---|---|---|
| À̸§ | ŸÀÔ | 1_1 | 1_2 | 1_3 | 1_4 |
| cn | Á¤¼ö ·¹Áö½ºÅÍ | 8 | 8 | 8 | 8 |
| rn | Àӽà ·¹Áö½ºÅÍ | 2 | 2 | 2 | 6 |
| tn | ÅØ½ºÃ³ ·¹Áö½ºÅÍ | 4 | 4 | 4 | 6 |
| vn | Ä÷¯ ·¹Áö½ºÅÍ | 2 | 2 | 2 | ±¹¸é 2 ¿¡¼´Â 2 |
| Çȼ¿ ¼ÎÀÌ´õÀÇ ¹öÀü | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
|---|---|---|---|---|---|---|---|---|---|
| Á¤¼ö ·¹Áö½ºÅÍ | x | x | x | x | x | x | x | x | x |
ÀüÀÇ ¸í·ÉÀ¸·Î ±âÀÔÇØÁöÁö ¾ÊÀº Àӽà ·¹Áö½ºÅͷκÎÅÍ Àб⸦ ½Ç½ÃÇÏ·Á°í Çϸé, ¼ÎÀÌ´õÀÇ »çÀü 󸮴 CreatePixelShader ¸¦ ½ÇÆÐ½ÃŲ´Ù. Æò°¡°¡ À¯È¿Çϸé (D3DXASM_SKIPVALIDATION ¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é), D3DXAssembleShader µµ ÀÌ¿Í °°ÀÌ ½ÇÆÐ½ÃŲ´Ù (D3DXASM_SKIPVALIDATION ´Â »ç¿ëÇÏÁö ¾Ê´Â °Í).
| Çȼ¿ ¼ÎÀÌ´õÀÇ ¹öÀü | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
|---|---|---|---|---|---|---|---|---|---|
| Àӽà ·¹Áö½ºÅÍ | x | x | x | x | x | x | x | x | x |
Çȼ¿ ¼ÎÀÌ´õ ¹öÀü 1_1 ~ 1_3 ÀÇ °æ¿ì, ÅØ½ºÃ³ ·¹Áö½ºÅÍ¿¡´Â, 4 °³ÀÇ °íÁ¤ ¼Ò¼öÁ¡°ªÀ¸·Î ÇØ Á¤¸®µÈ ÅØ½ºÃ³ µ¥ÀÌÅͰ¡ ÀúÀå µÈ´Ù. ÅØ½ºÃ³ÀÇ »ùÇøµ½Ã¿¡, ÅØ½ºÃ³ µ¥ÀÌÅÍ´Â ÅØ½ºÃ³ ·¹Áö½ºÅÍ¿¡ ·Îµå µÈ´Ù. ÅØ½ºÃ³ »ùÇøµ¿¡¼´Â, ÁöÁ¤µÈ (u, v, w, q) ÁÂÇ¥¿¡ ÀÖ¾î¼ÀÇ »ö°ªÀ», ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ® ¼Ó¼ºÀ» °í·ÁÇϸé¼, ÅØ½ºÃ³ ÁÂÇ¥¸¦ »ç¿ëÇØ ÂüÁ¶ (¶Ç´Â »ùÇøµ)ÇÑ´Ù. ÅØ½ºÃ³ ÁÂÇ¥ µ¥ÀÌÅÍ´Â, Á¤Á¡ÀÇ ÅØ½ºÃ³ ÁÂÇ¥ µ¥ÀÌÅͷκÎÅÍ º¸°£ µÇ¾î ƯÁ¤ÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¿Í °ü·ÃÁöÀ» ¼ö ÀÖ´Ù. ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ¹øÈ£¿Í ÅØ½ºÃ³ ÁÂÇ¥ ¼±¾ð ¼ø¼¿ÍÀÇ »çÀÌ¿¡´Â, µðÆúÆ®ÀÇ ÀÏ´ëÀÏ´ë°¡ °ü·ÃÁþ°í°¡ ÀÖ´Ù. Á¤Á¡ Æ÷¸ËÀ¸·Î Á¤ÀÇÇÑ ÃÖÃÊÀÇ ÅØ½ºÃ³ ÁÂÇ¥ ¼¼Æ®°¡, µðÆúÆ®·Î ÅØ½ºÃ³ ½ºÅ×ÀÌÁö 0 À¸·Î °ü·ÃÁöÀ» ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ Çȼ¿ ¼ÎÀÌ´õ ¹öÀü¿¡¼´Â, ÅØ½ºÃ³ ·¹Áö½ºÅ͸¦ »ê¼ú ¸í·ÉÀ¸·Î »ç¿ëÇÒ ¶§´Â, Àӽà ·¹Áö½ºÅÍ¿Í °°ÀÌ µ¿ÀÛÇÑ´Ù.
Çȼ¿ ¼ÎÀÌ´õ ¹öÀü 1_4 ÀÇ °æ¿ì, ÅØ½ºÃ³ ·¹Áö½ºÅÍ (t#)¿¡´Â, Àбâ Àü¿ëÀÇ ÅØ½ºÃ³ ÁÂÇ¥ µ¥ÀÌÅͰ¡ ÀúÀå µÈ´Ù. Áï, ÅØ½ºÃ³ ÁÂÇ¥ ¼¼Æ®¿Í ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ¹øÈ£´Â ¼·Î °ü°è¾ø´Ù. ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ¹øÈ£ (ÅØ½ºÃ³¸¦ »ùÇøµ ÇÏ´Â ¹ÙÅÁÀ¸·Î µÇ´Â °Í)´Â, Ãâ·Â ·¹Áö½ºÅÍ ¹øÈ£ (r0 ~ r5)¿¡ ÀÇÇØ Á¤ÇØÁø´Ù. texld ¸í·ÉÀÇ °æ¿ì, ÅØ½ºÃ³ ÁÂÇ¥ ¼¼Æ®´Â, ÀÔ·Â ·¹Áö½ºÅÍ (t0 ~ t5)¿¡ ÀÇÇØ Á¤ÇØÁö¹Ç·Î, ÅØ½ºÃ³ ÁÂÇ¥ ¼¼Æ®´Â, ÀÓÀÇÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¿¡ ¸ÊÇÎ ÇÒ ¼ö ÀÖ´Ù. ¶Ç, texld ÀÇ ÀÔ·Â ·¹Áö½ºÅÍ (ÅØ½ºÃ³ ÁÂÇ¥¸¦ ÁöÁ¤ÇÑ´Ù)µµ Àӽà ·¹Áö½ºÅÍ (r#)°¡ µÉ ¼ö°¡ ÀÖ´Ù. ÀÌ °æ¿ì, Àӽà ·¹Áö½ºÅÍÀÇ ³»¿ëÀº ÅØ½ºÃ³ ÁÂÇ¥·Î¼ »ç¿ëµÈ´Ù.
ÀÌ Çȼ¿ ¼ÎÀÌ´õ ¹öÀü¿¡¼´Â, ÅØ½ºÃ³ ·¹Áö½ºÅÍ¿¡´Â ÅØ½ºÃ³ ÁÂÇ¥ µ¥ÀÌÅͰ¡ ÀúÀå µÇ¾î ÅØ½ºÃ³¾îµå·¹½Ì ¸í·É¿¡¼µµ ÀÔ·Â Àμö·Î¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
| Çȼ¿ ¼ÎÀÌ´õÀÇ ¹öÀü | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
|---|---|---|---|---|---|---|---|---|---|
| ÅØ½ºÃ³ ·¹Áö½ºÅÍ | x | x | x | x | x | x | x | x | x |
½¦À̵ù ¸ðµå¿¡ D3DSHADE_FLAT ¸¦ ¼³Á¤ Çϸé, ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÇÇÑ ¾çÂÊ ¸ðµÎÀÇ Á¤Á¡»ö (µðÇ»Áî¿Í ½ºÆåÅ¥·¯)ÀÇ º¸°£Àº ¹«È¿ÀÌ´Ù. ¼ÎÀÌ´õ ¸ðµå ¿¡ °ü°è¾øÀÌ, Çȼ¿ Æ÷±×(¾È°³:fog)°¡ À¯È¿ÇÑ °æ¿ì, Æ÷±×(¾È°³:fog)´Â ÆÄÀÌÇÁ¶óÀο¡ ÀÇÇØ º¸°£ µÈ´Ù. Æ÷±×(¾È°³:fog)´Â, ÆÄÀÌÇÁ¶óÀγ»¿¡¼´Â Çȼ¿ ¼ÎÀÌ´õº¸´Ù ´ÙÀ½¿¡ Àû¿ëµÇ¹Ç·Î ÁÖÀÇ ÇØ¾ß ÇÑ´Ù.
º¸ÅëÀº, v0 ·¹Áö½ºÅͷκÎÅÍ Á¤Á¡ µðÇ»Áî»öµ¥ÀÌÅ͸¦ ·ÎµåÇÑ´Ù. ¶Ç, v1 ·¹Áö½ºÅͷκÎÅÍ Á¤Á¡ ½ºÆåÅ¥·¯»öµ¥ÀÌÅ͸¦ ·ÎµåÇÏ´Â Àϵµ ÀϹÝÀûÀÌ´Ù.
ÀԷ»öµ¥ÀÌÅͰªÀº, 0 ~ 1 ÀÇ ¹üÀ§¿¡ Á¦ÇÑ (Æ÷È)µÈ´Ù. ¿Ö³ÄÇϸé, À̰ÍÀÌ Çȼ¿ ¼ÎÀÌ´õÀÇ Ä÷¯ ·¹Áö½ºÅÍ¿¡ ÀÖ¾î À¯È¿ÇÑ ÀÔ·Â ¹üÀ§À̴ϱîÀÌ´Ù.
Çȼ¿ ¼ÎÀÌ´õ´Â, Ä÷¯ ·¹Áö½ºÅÍ¿¡´Â Àбâ Àü¿ë ¾×¼¼½º¸¦ °¡Áö°í ÀÖ´Ù. ÀÌ·¯ÇÑ ·¹Áö½ºÅÍÀÇ ³»¿ëÀº º¸°£ µÈ °ªÀÌÁö¸¸, º¸°£Àº ÅØ½ºÃ³ ÁÂÇ¥º¸´Ù ²Ï ³·Àº Á¤¹Ðµµ·Î ½ÇÇàµÈ´Ù.
| Çȼ¿ ¼ÎÀÌ´õÀÇ ¹öÀü | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
|---|---|---|---|---|---|---|---|---|---|
| Ä÷¯ ·¹Áö½ºÅÍ | x | x | x | x | x | x | x | x | x |
ÀÐ±â Æ÷Æ®ÀÇ Á¦ÇÑ¿¡¼´Â, 1 ¸í·ÉÀÇ ÀÔ·Â ·¹Áö½ºÅͷμ »ç¿ëÇÒ ¼ö ÀÖ´Â ·¹Áö½ºÅÍ Å¸ÀÔ¸¶´Ù ·¹Áö½ºÅÍÀÇ ¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
| ¹öÀü | |||||
|---|---|---|---|---|---|
| À̸§ | ŸÀÔ | 1_1 | 1_2 | 1_3 | 1_4 |
| cn | Á¤¼ö ·¹Áö½ºÅÍ | 2 | 2 | 2 | 2 |
| rn | Àӽà ·¹Áö½ºÅÍ | 2 | 2 | 2 | 3 |
| tn | ÅØ½ºÃ³ ·¹Áö½ºÅÍ | 2 | 3 | 3 | 1 |
| vn | Ä÷¯ ·¹Áö½ºÅÍ | 2 | 2 | 2 | ±¹¸é 2 ¿¡¼´Â 2 |
¿¹¸¦ µé¾î, °ÅÀÇ ¸ðµç ¹öÀüÀÇ Ä÷¯ ·¹Áö½ºÅÍ¿¡´Â, ÀÐ±â Æ÷Æ®´Â 2 °³¶ó°í ÇÏ´Â Á¦ÇÑÀÌ ÀÖ´Ù. Áï, 1 °³ÀÇ ¸í·ÉÀ¸·Î ÃÖ´ë 2 °³±îÁö°¡ ´Ù¸¥ Ä÷¯ ·¹Áö½ºÅÍ (v0 ¹× v1 µî)¸¦ ÀÔ·Â ·¹Áö½ºÅͷμ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ÀÌ ¿¹¿¡¼´Â, µ¿ÀÏÇÑ ¸í·ÉÀ¸·Î 2 °³ÀÇ Ä÷¯ ·¹Áö½ºÅͰ¡ »ç¿ëµÇ°í ÀÖ´Ù.
·¹Áö½ºÅÍ Å¸ÀÔÀº, ´ÙÀ½ Ç¥ÀÇ Àбâ Àü¿ë (RO) ´É·Â ¶Ç´Â ÀÐ°í ¾²±â (RW) ´É·Â¿¡ µû¶ó ½Äº°µÈ´Ù. Àбâ Àü¿ë ·¹Áö½ºÅÍ´Â, ¸í·ÉÀÇ ÀÔ·Â ·¹Áö½ºÅͷμÀÇ º¸°í »ç¿ëÇÒ ¼ö ÀÖ´Ù. Ãâ·Â ·¹Áö½ºÅͷμ´Â »ç¿ëÇÒ ¼ö ¾ø´Ù.
| ¹öÀü | |||||
|---|---|---|---|---|---|
| À̸§ | ŸÀÔ | 1_1 | 1_2 | 1_3 | 1_4 |
| cn | Á¤¼ö ·¹Áö½ºÅÍ | RO | RO | RO | RO |
| rn | Àӽà ·¹Áö½ºÅÍ | RW | RW | RW | RW |
| tn | ÅØ½ºÃ³ ·¹Áö½ºÅÍ | ÀÌÇÏÀÇ ¡¸ÁÖ¡¹ÂüÁ¶ | RW | RW | RW |
| vn | Ä÷¯ ·¹Áö½ºÅÍ | RO | RO | RO | RO |
ÀÐ°í ¾²±â °¡´ÉÇÑ ·¹Áö½ºÅÍ´Â, Áß°£ °á°úÀÇ ÀúÀå¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ ·¹Áö½ºÅÍ¿¡´Â, ¸î°³ÀÇ ¼ÎÀÌ´õ ¹öÀüÀÇ Àӽà ·¹Áö½ºÅÍ¿Í ÅØ½ºÃ³ ·¹Áö½ºÅͰ¡ Æ÷ÇԵȴÙ.
¹üÀ§¶õ, ·¹Áö½ºÅÍ µ¥ÀÌÅÍÀÇ ÃÖ´ëÄ¡·Î ÃÖ¼Ò °ªÀÌ´Ù. ¹üÀ§´Â, ·¹Áö½ºÅÍÀÇ Å¸ÀÔ¿¡ µû¶ó¼ ´Ù¸£´Ù. ¸î°³ÀÇ ·¹Áö½ºÅÍÀÇ ¹üÀ§´Â,GetDeviceCaps ¸¦ »ç¿ëÇØ ÀåÄ¡ÀÇ ´É·ÂÀ¸·ÎºÎÅÍ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.
| À̸§ | ŸÀÔ | ¹üÀ§ | ¹öÀü |
|---|---|---|---|
| cn | Á¤¼ö ·¹Áö½ºÅÍ | -1 ~ +1 | ¸ðµç ¹öÀü |
| rn | Àӽà ·¹Áö½ºÅÍ | - MaxPixelShaderValue ~ + MaxPixelShaderValue | ¸ðµç ¹öÀü |
| tn | ÅØ½ºÃ³ ·¹Áö½ºÅÍ | - MaxPixelShaderValue ~ + MaxPixelShaderValue | 1_1 ~ 1_3 |
| tn | ÅØ½ºÃ³ ·¹Áö½ºÅÍ | - MaxTextureRepeat ~ + MaxTextureRepeat | 1_4 |
| vn | Ä÷¯ ·¹Áö½ºÅÍ | 1_4 |
ÃʱâÀÇ Çȼ¿ ¼ÎÀÌ´õ Çϵå¿þ¾î´Â, ·¹Áö½ºÅͳ»ÀÇ µ¥ÀÌÅ͸¦ °íÁ¤ ¼Ò¼öÁ¡¼ö¸¦ »ç¿ëÇØ ³ªÅ¸³»°í ÀÖ´Ù. ÀÌ ¶§¹®¿¡, Á¤¹Ðµµ°¡ ÃÖ´ë·Î ¼ýÀÚÀÇ ¼Ò¼öºÎ¿¡ ´ëÀÀÇÏ´Â ¾à 8 ºñÆ®¿¡ Á¦Çѵǰí ÀÖ´Ù. ¼ÎÀÌ´õ¸¦ ¼³°èÇÏ´Â °æ¿ì´Â, ÀÌ Á¡¿¡ ÁÖÀÇ ÇØ¾ß ÇÑ´Ù.
Çȼ¿ ¼ÎÀÌ´õ ¹öÀü 1_1 ~ 1_3 ¿¡¼´Â, MaxTextureRepeat ´Â 1 ÀÌ»óÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù. 1_4 ÀÇ °æ¿ì, MaxTextureRepeat ´Â 8 ÀÌ»óÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù.