DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º Á¤¼ö D3DFVF   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
D3DFVF
 
Microsoft DirectX 9.0

D3DFVF


FVF Á¤¼ö

À¯¿¬ÇÑ Á¤Á¡ Æ÷¸Ë (FVF)Àº, ´ÜÀÏÀÇ µ¥ÀÌÅÍ ½ºÆ®¸²¿¡ ÀÎÅ͸®ºê µÇ¾î ÀúÀå µÇ°í ÀÖ´Â Á¤Á¡ÀÇ ³»¿ëÀ» ±â¼úÇϱâ À§Çؼ­ »ç¿ëµÈ´Ù. FVF ÄÚµå´Â, º¸Åë, °íÁ¤ ±â´ÉÀÇ Á¤Á¡ 󸮿¡ ÀÇÇØ 󸮵Ǵ µ¥ÀÌÅ͸¦ ÁöÁ¤Çϱâ À§Çؼ­ »ç¿ëµÈ´Ù.

Á¤Á¡ÀÇ Æ÷¸ËÀº, ´ÙÀ½ÀÇ Ç÷¡±×¿¡ ÀÇÇØ ±â¼úµÈ´Ù. Á¤Á¡ Æ÷¸Ë¿¡ ´ëÇØ¼­´Â, ¡¸Á¤Á¡ Æ÷¸Ë¡¹À» ÂüÁ¶ÇÒ°Í.

Á¤Á¡ µ¥ÀÌÅÍ °ü·ÃÀÇ Ç÷¡±×

#define¼³¸í
D3DFVF_DIFFUSEÁ¤Á¡ Æ÷¸ËÀÌ µðÇ»Áî»ö¼ººÐÀ» Æ÷ÇÔÇÑ´Ù.
D3DFVF_NORMALÁ¤Á¡ Æ÷¸ËÀÌ Á¤Á¡ ¹ý¼± º¤Å͸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ Ç÷¡±×¸¦, D3DFVF_XYZRHW Ç÷¡±×¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù.
D3DFVF_PSIZEÁ¤Á¡ Æ÷¸ËÀº Æ÷ÀÎÆ® »çÀÌÁî·Î ÁöÁ¤µÇ°í ÀÖ´Ù. ÀÌ »çÀÌÁî´Â, º¯È¯ÀÌ ³¡³­ »óÅ¿¡¼­µµ Á¶¸íÀÌ ³¡³­ »óŵµ ¾Æ´Ñ Á¤Á¡¿¡ ´ëÇØ¼­´Â Ä«¸Þ¶ó °ø°£ ´ÜÀ§·Î, ¶Ç º¯È¯ÀÌ ³¡³­ »óÅ·ΠÁ¶¸í ³¡³­ Á¤Á¡¿¡ ´ëÇØ¼­´Â ÀåÄ¡ °ø°£ ´ÜÀ§·Î ³ªÅ¸³»Áö°í ÀÖ´Ù.
D3DFVF_SPECULARÁ¤Á¡ Æ÷¸ËÀÌ ½ºÆåÅ¥·¯»ö¼ººÐÀ» Æ÷ÇÔÇÑ´Ù.
D3DFVF_XYZÁ¤Á¡ Æ÷¸ËÀÌ º¯È¯ µÇÁö ¾ÊÀº Á¤Á¡ÀÇ À§Ä¡ ÁÂÇ¥¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ Ç÷¡±×¸¦, D3DFVF_XYZRHW Ç÷¡±×¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù.
D3DFVF_XYZRHWÁ¤Á¡ Æ÷¸ËÀÌ, º¯È¯ µÈ Á¤Á¡ÀÇ À§Ä¡ ÁÂÇ¥¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ Ç÷¡±×¸¦ D3DFVF_XYZ Ç÷¡±× ¶Ç´Â D3DFVF_NORMAL Ç÷¡±×¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù.
D3DFVF_XYZB1 ~ D3DFVF_XYZB5Á¤Á¡ Æ÷¸ËÀº, À§Ä¡ ÁÂÇ¥ µ¥ÀÌÅÍ, ¹× º¹¼öÀÇ Çà·Ä¿¡ ÀÇÇÑ Á¤Á¡ È¥ÇÕ Ã³¸®¿ëÀÇ Áß·®°¨ (º£Å¸) °ªÀÇ ´ëÀÀ¼ö¸¦ Æ÷ÇÔÇÑ´Ù. ÇöÀç, Microsoft® Direct3D® ¿¡¼­´Â ÃÖ´ë 3 °³ÀÇ Áß·®°¨°ª ¹× 4 °³ÀÇ È¥ÇÕ Çà·Ä·Î È¥ÇÕÀÌ °¡´ÉÇÏ´Ù. È¥ÇÕ Çà·ÄÀÇ »ç¿ë¹ýÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸À妽º ÷ºÎ Á¤Á¡ È¥ÇÕ¡¹À» ÂüÁ¶ÇÒ°Í.
D3DFVF_XYZWÁ¤Á¡ Æ÷¸ËÀÌ, º¯È¯ ¹× Ŭ¸®ÇÎ µÈ x, y, z w µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ´Ù. ProcessVertices ´Â, Ŭ¸³ÆÛ¸¦ ±âµ¿ÇÏÁö ¾Ê°í, µ¥ÀÌÅ͸¦ Ŭ¸³ ÁÂÇ¥·Î Ãâ·ÂÇÑ´Ù. ÀÌ Á¤¼ö´Â, ÇÁ·Î±×·¡¹ÖÇÒ ¼ö ÀÖ´Â Á¤Á¡ ÆÄÀÌÇÁ¶óÀο¡¼­ÀÇ »ç¿ëÀ» ¸ñÀûÀ¸·Î ÇÑ Á¤¼ö·Î, ÇÁ·Î±×·¡¹ÖÇÒ ¼ö ÀÖ´Â Á¤Á¡ ÆÄÀÌÇÁ¶óÀÎÀ¸·Î ¹Û¿¡ »ç¿ëÇÏÁö ¾Ê´Â´Ù.

ÅØ½ºÃ³ °ü·ÃÀÇ Ç÷¡±×

#define¼³¸í
D3DFVF_TEX0 - D3DFVF_TEX8ÀÌ Á¤Á¡¿¡ ´ëÀÀÇÏ´Â ÅØ½ºÃ³ ÁÂÇ¥ ¼¼Æ®ÀÇ ¹øÈ£. ÀÌ·¯ÇÑ Ç÷¡±×¿¡ ´ëÀÀÇÏ´Â ¼ýÀÚ´Â ¿¬¼Ó ¹øÈ£·Î µÇÁö ¾Ê´Ù.
D3DFVF_TEXCOORDSIZEn(coordIndex)ÅØ½ºÃ³ ÁÂÇ¥ µ¥ÀÌÅÍ ¼¼Æ®¸¦ Á¤ÀÇÇÑ´Ù. n ´Â ÅØ½ºÃ³ ÁÂÇ¥ÀÇ ³ÐÀ̸¦ ³ªÅ¸³½´Ù. coordIndex ´Â ÅØ½ºÃ³ ÁÂÇ¥ÀÇ À妽º ¹øÈ£¸¦ ³ªÅ¸³½´Ù. ¡¸D3DFVF_TEXCOORDSIZEn ¡¹ ¹× ¡¸ÅؽºÃ³ ÁÂÇ¥¡¹¸¦ ÂüÁ¶ÇÒ°Í.

¸¶½ºÅ©°ª

±× ¿Ü

#define¼³¸í
D3DFVF_POSITION_MASKÀ§Ä¡ ÁÂÇ¥ ºñÆ®¸¦ ÃßÃâÇÏ´Â ¸¶½ºÅ©.
D3DFVF_RESERVED0, D3DFVF_RESERVED2À¯¿¬ÇÑ Á¤Á¡ Æ÷¸ËÀÇ ¿¹¾à ºñÆ®¸¦ ÃßÃâÇϱâ À§ÇÑ ¸¶½ºÅ©°ª. »ç¿ë ºÒ°¡.
D3DFVF_TEXCOUNT_MASKÅØ½ºÃ³ flag bit¸¦ ÃßÃâÇϱâ À§ÇÑ ¸¶½ºÅ©°ª.
#define¼³¸í
D3DFVF_LASTBETA_D3DCOLORÁ¤Á¡ À§Ä¡ µ¥ÀÌÅÍÀÇ ¸¶Áö¸· º£Å¸ Çʵå´Â D3DCOLOR ÇüÀÌ µÈ´Ù. º£Å¸ ÇʵåÀÇ µ¥ÀÌÅÍ´Â, Çà·Ä ÆÈ·¹Æ® ½ºÅ°´×À¸·Î Çà·Ä À妽º¸¦ ÁöÁ¤Çϱâ À§Çؼ­ »ç¿ëÇÑ´Ù.
D3DFVF_LASTBETA_UBYTE4

Á¤Á¡ À§Ä¡ µ¥ÀÌÅÍÀÇ ¸¶Áö¸· º£Å¸ Çʵå´Â UBYTE4 ÇüÀÌ µÈ´Ù. º£Å¸ ÇʵåÀÇ µ¥ÀÌÅÍ´Â, Çà·Ä ÆÈ·¹Æ® ½ºÅ°´×À¸·Î Çà·Ä À妽º¸¦ ÁöÁ¤Çϱâ À§Çؼ­ »ç¿ëÇÑ´Ù.

// Given the following vertex data definition: 
struct VERTEXPOSITION
{
   float pos[3];
   union 
   {
      float beta[5];
      struct
      {
         float weights[4];
         DWORD MatrixIndices;  // Used as UBYTEs
      }
   }
};

FVF °¡ D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4 ¶ó°í ¼±¾ðµÇ°í ÀÖ´Ù°í ÇÑ´Ù. weight ¹× MatrixInidices °¡ beta[] ¿¡ Æ÷ÇԵǾî ÀÖ´Ù. D3DFVF_LASTBETA_UBYTE4 ´Â ¸¶Áö¸· DWORD (beta[5])¸¦ UBYTE4 ¶ó°í ÇØ¼®ÇÏ´Â °ÍÀ» ³ªÅ¸³»°í ÀÖ´Ù.

¸¶Áö¸· º£Å¸´Â, À§Ä¡ Æ÷¸Ë³»ÀÇ º£Å¸ÀÇ ¼ö´Â ¾Æ´Ï°í, D3DRS_VERTEXBLEND ¿¡ ÀÇÇØ Á¤ÇØÁø´Ù. ¿¹¸¦ µé¾î, D3DRS_VERTEXBLEND °¡ D3DVBF_2WEIGHTS À¸·Î À§Ä¡ Æ÷¸ËÀÌ À§¿¡ÀÇ¿Í ¿ì¸®ÀÎ °æ¿ì, ¸¶Áö¸· º£Å¸´Â beta[2] °¡ µÇ¾î, À̰ÍÀÌ 4 ¹ÙÀÌÆ® À妽º·Î DWORD ·Î¼­ »ç¿ëµÈ´Ù.

D3DFVF_TEXCOUNT_SHIFTÁ¤Á¡ÀÇ ÅØ½ºÃ³ ÁÂÇ¥¼ö¸¦ ½Äº°ÇÏ´Â Á¤¼ö°ªÀ» ¸î ºñÆ®ºÐ ½¬ÇÁÆ® ÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â ¼ö. ÀÌ °ªÀº, ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.
DWORD dwNumTextures = 1;  // Vertex has only one set of coordinates.

// Shift the value for use when creating an FVF combination.
dwFVF = dwNumTextures << D3DFVF_TEXCOUNT_SHIFT;

// Now, create an FVF combination using the shifted value.

ÀÚÁÖ(Àß) »ç¿ëµÇ´Â Ç÷¡±×ÀÇ Æí¼º¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³½´Ù.

// Untransformed vertex for lit, untextured, Gouraud-shaded content.
dwFVF = ( D3DFVF_XYZ | D3DFVF_DIFFUSE );
// Untransformed vertex for unlit, untextured, Gouraud-shaded 
//   content with diffuse material color specified per vertex.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE );
// Untransformed vertex for light-map-based lighting.
dwFVF = ( D3DFVF_XYZ | D3DFVF_TEX2 );
// Transformed vertex for light-map-based lighting with shared rhw.
dwFVF = ( D3DFVF_XYZRHW | D3DFVF_TEX2 );
// Heavyweight vertex for unlit, colored content with two 
// sets of texture coordinates.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE | 
          D3DFVF_SPECULAR | D3DFVF_TEX2 );

Á¤¼ö Á¤º¸

Çì´õd3d9types.h
ÃÖÀúÇÑÀÇ operating systemWindows 98

°ü·Ã Ç׸ñ



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