1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// ******************************************************************
// Struktur für einen Vertex: Position und 3D-Texturkoordinaten
struct SVertex
{
peVector3 vPosition; // Position des Vertex
DWORD dwColor; // Texturkoordinaten
};
#define VERTEX_FVF (D3DFVF_XYZ | D3DFVF_TEX1 | D3DFVF_TEXCOORDSIZE3(0))
// Das Viereck erstellen, auf dem die Animation abgespielt wird.
// Die w-Texturkoordinate bestimmt dabei, wie weit die Animation fortgeschritten ist.
// Zwischen 0 und 1 wird sie genau einmal abgespielt, hinter 1 wiederholt sie sich.
aVertex[0].vPosition = tbVector3(-1.0f, -1.0f, 1.0f);
aVertex[1].vPosition = tbVector3(-1.0f, 1.0f, 1.0f);
aVertex[2].vPosition = tbVector3( 1.0f, -1.0f, 1.0f);
aVertex[3].vPosition = tbVector3( 1.0f, 1.0f, 1.0f);
aVertex[0].dwColor = (DWORD)(tbColor(0.0f, 0.0f, 0.0f));
aVertex[1].dwColor = (DWORD)(tbColor(0.0f, 0.0f, 0.0f));
aVertex[2].dwColor = (DWORD)(tbColor(0.0f, 0.0f, 0.0f));
aVertex[3].dwColor = (DWORD)(tbColor(0.0f, 0.0f, 0.0f));
// Nun das Viereck als Dreiecksfolge zeichnen (so brauchen wir nur 4 Vertizes)
tbDirect3D::GetDevice()->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,
2,
aVertex,
sizeof(SVertex));
|