태그 : FlexibleVertexFormat

FVF Flags (Flexible vertex format bits)

2008/04/13 일요일. FVF Flags (Flexible vertex format bits)

:: 오늘의 넋두리---------------------------------------------------------------------------------
 방금 어머니께서 전화를 하셨다. 아... 어머니라...
 ------------------------------------------------------------------------------------------------

 본 자료는 정연철 교수님께서 제공(공식적으로 이렇게 유포하라는 말씀은 없었지만 ㅋ)하신 자료 입니다.
 자료 잘 쓰겠습니다.


□ FVF 정점

플래그

연관자료형

설명

D3DFVF_XYZ

float 형 3개(x, y, z)

3차원 공간에서의 정점 좌표

D3DFVF_XYZRHW

float형 4개 (x, y, z, rhw)
_rhw: 변환된 3D 좌표
_3D에서 2D를 사용하기 위해 사용

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)

◀ 이전 페이지          다음 페이지 ▶