꼭짓점 트위닝 사용(Direct3D 9)
Direct3D가 꼭짓점 트위닝을 지원하는지 확인하려면 D3DCAPS9 구조체의 VertexProcessingCaps 멤버에서 D3DVTXPCAPS_TWEENING 플래그에 대해 검사. 다음 코드 예제에서는 IDirect3DDevice9::GetDeviceCaps 메서드를 사용하여 트윈이 지원되는지 확인합니다.
// This example assumes that m_pD3DDevice is
// a valid pointer to a IDirect3DDevice9 interface.
//
D3DCAPS9 d3dCaps;
m_pD3DDevice->GetDeviceCaps( &d3dCaps );
if( 0 != (d3dCaps.VertexProcessingCaps & D3DVTXPCAPS_TWEENING) )
// Vertex tweening is supported.
벡터 트윈을 사용하려면 먼저 두 번째 법선 또는 두 번째 위치를 사용하는 사용자 지정 꼭짓점 형식을 설정해야 합니다. 다음 코드 예제에서는 두 번째 점과 두 번째 위치를 모두 포함하는 샘플 선언을 보여 있습니다.
struct TEX_VERTEX
{
D3DVECTOR position;
D3DVECTOR normal;
D3DVECTOR position2;
D3DVECTOR normal2;
};
//Create a vertex buffer with the type TEX_VERTEX.
다음 단계는 현재 선언을 설정하는 것입니다. 아래 코드 예제에서는 이 작업을 수행하는 방법을 보여줍니다.
// Create the shader declaration.
D3DVERTEXELEMENT9 decl[] =
{
{ 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
{ 0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0 },
{ 0, 24, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 1 },
{ 0, 36, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 1 },
D3DDECL_END()
};
사용자 지정 꼭짓점 형식 및 꼭짓점 버퍼를 만드는 방법에 대한 자세한 내용은 꼭짓점 버퍼 만들기(Direct3D 9)를 참조하세요.
참고
꼭짓점 트위닝을 사용하도록 설정하면 현재 선언에 두 번째 위치 또는 두 번째 법선이 있어야 합니다.
관련 항목