DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ±¸Á¶Ã¼ D3DRECTPATCH_INFO [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
Á÷»ç°¢ÇüÀÇ °íÂ÷¿ø ÆÐÄ¡¸¦ ±â¼úÇÑ´Ù.
±¸¹®
typedef struct _D3DRECTPATCH_INFO {
UINT StartVertexOffsetWidth;
UINT StartVertexOffsetHeight;
UINT Width;
UINT Height;
UINT Stride;
D3DBASISTYPE Basis;
D3DDEGREETYPE Degree;
} D3DRECTPATCH_INFO;¸â¹ö
- StartVertexOffsetWidth
- Á¤Á¡ÀÇ ¼ö·Î ³ªÅ¸³½, ½ÃÀÛ Á¤Á¡ ¿ÀÇÁ¼Â(offset)ÀÇ Æø.
- StartVertexOffsetHeight
- Á¤Á¡ÀÇ ¼ö·Î ³ªÅ¸³½, ½ÃÀÛ Á¤Á¡ ¿ÀÇÁ¼Â(offset)ÀÇ ³ôÀÌ.
- Width
- Á¤Á¡ÀÇ ¼ö·Î ³ªÅ¸³½, °¢ Á¤Á¡ÀÇ Æø.
- Height
- Á¤Á¡ÀÇ ¼ö·Î ³ªÅ¸³½, °¢ Á¤Á¡ÀÇ ³ôÀÌ.
- Stride
- °¡°øÀÇ 2 Â÷¿ø Á¤Á¡ ¹è¿ÀÇ Æø. ÀÌ ÆøÀº Á¤Á¡ ¹öÆÛ¿Í °°Àº °ø°£À» Á¡À¯ ÇÑ´Ù. ¿¹¿¡ ´ëÇØ¼´Â, ´ÙÀ½ÀÇ ±×¸²À» ÂüÁ¶ÇÒ°Í.
- Basis
- D3DBASISTYPE ¿°ÅÇüÀÇ ¸â¹ö. Á÷»ç°¢ÇüÀÇ °íÂ÷¿ø ÆÐÄ¡ÀÇ ±âº» ŸÀÔÀ» Á¤ÀÇÇÑ´Ù.
°ª Áö¿ø µÇ´Â Â÷¼ö Æø°ú ³ôÀÌ D3DBASIS_BEZIER 1 Â÷, 2 Â÷, 3 Â÷ Æø = ³ôÀÌ = (DWORD) order + 1 D3DBASIS_BSPLINE 1 Â÷, 2 Â÷, 3 Â÷ Æø = ³ôÀÌ > (DWORD) order D3DBASIS_INTERPOLATE 2 Â÷ Æø = ³ôÀÌ > (DWORD) order - Degree
- D3DDEGREETYPE ¿°ÅÇüÀÇ ¸â¹ö. Á÷»ç°¢Çü ÆÐÄ¡ÀÇ Â÷¼ö¸¦ Á¤ÀÇÇÑ´Ù.
ÁÖÀÇ
´ÙÀ½ÀÇ ±×¸²¿¡, Á÷»ç°¢Çü ÆÐÄ¡¸¦ ÁöÁ¤ÇÏ´Â ÆÄ¶ó¹ÌÅ͸¦ ³ªÅ¸³½´Ù.
Á¤Á¡ ¹öÆÛÀÇ °¢ Á¤Á¡Àº, ÈæÁ¡À¸·Î½á °¡¸®Å²´Ù. ÀÌ Á¤Á¡ ¹öÆÛ¿¡ 20 ÀÇ Á¤Á¡ÀÌ ÀÖ¾î, ±× Áß 16 °³´Â Á÷»ç°¢Çü ÆÐÄ¡³»¿¡ ÀÖ´Ù. º¸ÆøÀº Á¤Á¡ ¹öÆÛÀÇ Æø¿¡ ÀÖ´Â Á¤Á¡ÀÇ ¼ö·Î, ÀÌ °æ¿ì´Â 5 ÀÌ´Ù. ÃÖÃÊÀÇ Á¤Á¡¿¡ÀÇ x ¿ÀÇÁ¼Â(offset)´Â StartIndexVertexWidth ·Î ºÒ·Á ¿©±â¿¡¼´Â 1 ÀÌ´Ù. ÃÖÃÊÀÇ ÆÐÄ¡ Á¤Á¡¿¡ÀÇ y ¿ÀÇÁ¼Â(offset)´Â StartIndexVertexHeight ·Î ºÒ·Á ¿©±â¿¡¼´Â 0 ÀÌ´Ù.
°¢°¢ÀÇ Á÷»ç°¢Çü ÆÐÄ¡ÀÇ ½ºÆ®¸² (ºñ¸ðÀÚÀÌÅ©)À» ·»´õ¸µ ÇÏ·Á¸é , Áö¿À¸ÞÆ®¸®¸¦ °¡´Ã°í ±ä (1 ¡¿ N) Á÷»ç°¢Çü ÆÐÄ¡·Î¼ ÇØ¼®ÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ½ºÆ®¸³ (2 Â÷ º£Áö¾î(Bezier))ÀÇ D3DRECTPATCH_INFO ±¸Á¶Ã¼´Â, ´ÙÀ½°ú °°ÀÌ ¼³Á¤µÈ´Ù.
D3DRECTPATCH_INFO RectInfo; RectInfo.Width = 4; RectInfo.Height = 4; RectInfo.Stride = 4; RectInfo.Basis = D3DBASIS_BEZIER; RectInfo.Order = D3DORDER_CUBIC; RectInfo.StartVertexOffsetWidth = 0; RectInfo.StartVertexOffsetHeight = 4*i; // The variable i is the index of the // patch you want to render.
±¸Á¶Ã¼ÀÇ Á¤º¸
Çì´õ d3d9types.h ÃÖÀúÇÑÀÇ operating system Windows 98
ÂüÁ¶
IDirect3DDevice9::DrawRectPatch