D3DFVF

유연한 꼭짓점 형식 상수 또는 FVF 코드는 고정 함수 파이프라인에서 처리될 단일 데이터 스트림에서 인터리브되는 꼭짓점의 내용을 설명하는 데 사용됩니다.

꼭짓점 데이터 플래그

다음 플래그는 꼭짓점 형식을 설명합니다. 꼭짓점 형식에 대한 자세한 내용은 고정 함수 FVF 코드(Direct3D 9)를 참조하세요.

#define Description 데이터 순서 및 형식
D3DFVF_DIFFUSE 꼭짓점 형식에는 확산 색 구성 요소가 포함됩니다. ARGB 순서의 DWORD입니다. D3DCOLOR_ARGB 참조하세요.
D3DFVF_NORMAL 꼭짓점 형식에는 꼭짓점 법선 벡터가 포함됩니다. 이 플래그는 D3DFVF_XYZRHW 플래그와 함께 사용할 수 없습니다. float, float, float
D3DFVF_PSIZE 점 크기로 지정된 꼭짓점 형식입니다. 이 크기는 변환 및 조명되지 않은 꼭짓점의 경우 카메라 공간 단위로, 변환 및 조명 꼭짓점의 디바이스 공간 단위로 표현됩니다. float
D3DFVF_SPECULAR 꼭짓점 형식에는 반사 색 구성 요소가 포함됩니다. ARGB 순서의 DWORD입니다. D3DCOLOR_ARGB 참조하세요.
D3DFVF_XYZ 꼭짓점 형식에는 변환되지 않은 꼭짓점의 위치가 포함됩니다. 이 플래그는 D3DFVF_XYZRHW 플래그와 함께 사용할 수 없습니다. float, float, float.
D3DFVF_XYZRHW 꼭짓점 형식에는 변환된 꼭짓점의 위치가 포함됩니다. 이 플래그는 D3DFVF_XYZ 또는 D3DFVF_NORMAL 플래그와 함께 사용할 수 없습니다. float, float, float, float.
D3DFVF_XYZB5 통해 D3DFVF_XYZB1 꼭짓점 형식에는 위치 데이터와 다중 꼭짓점 혼합 작업에 사용할 해당 가중치(베타) 값이 포함됩니다. 현재 Direct3D는 최대 3개의 가중치 값과 4개의 혼합 매트릭스와 혼합할 수 있습니다. 혼합 행렬 사용에 대한 자세한 내용은 인덱싱된 꼭짓점 혼합(Direct3D 9)을 참조하세요. 1, 2 또는 3개의 부동 소수입니다. D3DFVF_LASTBETA_UBYTE4 사용하면 마지막 혼합 가중치가 DWORD로 처리됩니다.
D3DFVF_XYZW 꼭짓점 형식에는 변환되고 잘린(x, y, z, w) 데이터가 포함됩니다. ProcessVertices는 클리퍼를 호출하지 않고 클립 좌표로 데이터를 출력합니다. 이 상수는 프로그래밍 가능한 꼭짓점 파이프라인을 위해 설계되었으며, 에서만 사용할 수 있습니다. float, float, float, float

 

텍스처 플래그

다음 플래그는 고정 함수 파이프라인에서 사용하는 텍스처 플래그를 설명합니다.

#define Description
D3DFVF_TEX0 - D3DFVF_TEX8 이 꼭짓점의 텍스처 좌표 집합 수입니다. 이러한 플래그의 실제 값은 순차적이지 않습니다.
D3DFVF_TEXCOORDSIZEN(coordIndex) 텍스처 좌표 데이터 집합을 정의합니다. n은 텍스처 좌표의 차원을 나타냅니다. coordIndex는 텍스처 좌표 인덱스 번호를 나타냅니다. D3DFVF_TEXCOORDSIZEN텍스처 좌표 및 텍스처 스테이지를 참조하세요.

 

마스크 플래그

다음 플래그는 고정 함수 파이프라인에서 사용하는 마스크 플래그를 설명합니다.

#define Description
D3DFVF_POSITION_MASK 위치 비트에 대한 마스크입니다.
D3DFVF_RESERVED0, D3DFVF_RESERVED2 FVF에서 예약된 비트의 값을 마스킹합니다. 사용하지 마십시오.
D3DFVF_TEXCOUNT_MASK 텍스처 플래그 비트에 대한 마스크 값입니다.

 

기타 플래그

다음 플래그는 고정 함수 파이프라인에서 사용하는 다양한 플래그를 설명합니다.

#define Description
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. 가중치 및 MatrixIndices는 베타[5]에 포함됩니다. 여기서 D3DFVF_LASTBETA_UBYTE4 베타[5]의 마지막 DWORD를 UBYTE4 형식으로 해석한다고 합니다.

D3DFVF_TEXCOUNT_SHIFT 꼭짓점의 텍스처 좌표 수를 식별하는 정수 값을 이동할 비트 수입니다. 이 값은 아래와 같이 사용할 수 있습니다.

DWORD dwNumTextures = 1; 꼭짓점의 좌표 집합은 하나뿐입니다.

// FVF(유연한 꼭짓점 형식) 조합을 만들 때 사용할 값을 이동합니다. 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
최소 운영 체제 Windows 98

 

Direct3D 상수

고정 함수 FVF 코드(Direct3D 9)

기하 도형 혼합(Direct3D 9)