2008년 04월 14일
FVF Flags (Flexible vertex format bits)
:: 오늘의 넋두리---------------------------------------------------------------------------------
방금 어머니께서 전화를 하셨다. 아... 어머니라...
------------------------------------------------------------------------------------------------
본 자료는 정연철 교수님께서 제공(공식적으로 이렇게 유포하라는 말씀은 없었지만 ㅋ)하신 자료 입니다.
자료 잘 쓰겠습니다.
□ 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)






☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
... 의미한다.(D3DUSAGE Flage 참조) FVF - 유연한 정점 포멧 >> FVF Flags (Flexible vertex format bits) Pool - 버퍼가 위치하게 될 메모리 설정(D3DPOOL Flage 참조) &n ... more
... 표현하기 위한 FVF flag의 조합으로 메크로 상수화 한 것이다.FVF flag는 다음과 같다. >> FVF Flags(Flexible vertex format bits)_ Link 이 포멧으로 정점 데이터가 만들어 지고, 정점버퍼(VertexBuffer)에 저장이 되는데, 2 ... more