태그 : FVFFlag
□ FVF 정점
플래그 | 연관자료형 | 설명 |
D3DFVF_XYZ | float 형 3개(x, y, z) | 3차원 공간에서의 정점 좌표 |
D3DFVF_XYZRHW | float형 4개 (x, y, z, rhw) | 2차원 화면 공간에서의 정점 좌표, 이것을 사용하면 카메라 변환등의 그래픽 파이프라인 처리를 사용자가 했다고 가정하고 그대로 찍어주므로 따라서 D3D를 이용해서 2D를 표현할 때 사용 할 수 있다. |
D3DFVF_XYZB1~ 5 | float형 1-5개 | 정점 블랜딩시에 사용할 weight값 |
D3DFVF_NORMAL | float형 3개 | 정점의 법선 벡터, D3DFVF_XYZRHW의 경우에는 이값을 가지지 않는다 |
D3DFVF_DIFFUSE | DWORD형 1개 _옷감 | 정점의 색깔 _난반사체 |
D3DFVF_SPECULAR | DWORD형 1개 _구슬, 거울 | 정점의 반사값 |
D3DFVF_TEXCOORDSIZE1(n) D3DFVF_TEXCOORDSIZE2(n) D3DFVF_TEXCOORDSIZE3(n) D3DFVF_TEXCOORDSIZE4(n) | 없음 | 각각의 텍스쳐 좌표가 몇 개의 좌표값을 사용하는지를 결정 |
D3DFVF_TXT0 ~ 8 | float 형 1-4 개 | 정점이 몇 개의 텍스쳐 좌표값을 사용할지를 결정 |
□사용하기
struct USERDEFINEVERTEX {
float x, y, z;
float rhw; _z축 값이 동일한(2D), 변환된 3D를 사용하겠다.
DWORD dwColor;
};
#define D3DFVF_USERDEFINEVERTEX (D3DFVF_XYZRHW | D3DFVF_DIFFUSE )
g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); g_pd3dDevice->BeginScene(); g-pd3dDevice->SetStreamSource(0, pVB, 0, sizeof(USERDEFINEVERTEX) ); g_pd3dDevice->SetFVF(D3DFVF_USERDEFINEVERTEX); g_pd3dDevice->DrawPrimitive( ... ); g_pd3dDevice-> EndScene(); g_pd3dDevice->Present(NULL, NULL, NULL, NULL); |
# by | 2008/04/14 00:01 | ▶▷DirectX◁◀ | 트랙백 | 핑백(2) | 덧글(0)
◀ 이전 페이지 다음 페이지 ▶