Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um zu ermitteln, ob Direct3D Vertex-Tweening unterstützt, suchen Sie im VertexProcessingCaps-Member der D3DCAPS9-Struktur nach dem flag D3DVTXPCAPS_TWEENING. Im folgenden Codebeispiel wird die IDirect3DDevice9::GetDeviceCaps-Methode verwendet, um zu bestimmen, ob Tweening unterstützt wird.
// 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.
Um Vektor-Tweening verwenden zu können, müssen Sie zuerst einen benutzerdefinierten Vertextyp einrichten, der eine zweite Normal- oder eine zweite Position verwendet. Das folgende Codebeispiel zeigt eine Beispieldeklaration, die sowohl einen zweiten Punkt als auch eine zweite Position enthält.
struct TEX_VERTEX
{
D3DVECTOR position;
D3DVECTOR normal;
D3DVECTOR position2;
D3DVECTOR normal2;
};
//Create a vertex buffer with the type TEX_VERTEX.
Der nächste Schritt besteht darin, die aktuelle Deklaration festzulegen. Das folgende Codebeispiel zeigt, wie Dies geschieht.
// 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()
};
Weitere Informationen zum Erstellen eines benutzerdefinierten Vertextyps und eines Vertexpuffers finden Sie unter Creating a Vertex Buffer (Direct3D 9).
Hinweis
Wenn Vertex-Tweening aktiviert ist, muss in der aktuellen Deklaration eine zweite Position oder eine zweite Normalposition vorhanden sein.
Zugehörige Themen