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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
m_pVertBuff->Lock (0,0,(void**)&m_pData,D3DLOCK_DISCARD );
sTexInfo tinf;
tinf = GetTextureInfos ();
//Vertexposition bestimmen und Transformieren
D3DXVECTOR3 posUL = D3DXVECTOR3(-0.5f,0.5f,0.0f);
D3DXVECTOR3 posUR = D3DXVECTOR3(0.5f,0.5f,0.0f);
D3DXVECTOR3 posBL = D3DXVECTOR3(-0.5f,-0.5f,0.0f);
D3DXVECTOR3 posBR = D3DXVECTOR3(0.5f,-0.5f,0.0f);
D3DXVec3TransformCoord (&posUL,&posUL,&tinf.mMatrix);
D3DXVec3TransformCoord (&posUR,&posUR,&tinf.mMatrix);
D3DXVec3TransformCoord (&posBL,&posBL,&tinf.mMatrix);
D3DXVec3TransformCoord (&posBR,&posBR,&tinf.mMatrix);
//Texturposition bestimmen und Transformieren
D3DXVECTOR2 texUL = D3DXVECTOR2 (0.0f,0.0f);
D3DXVECTOR2 texUR = D3DXVECTOR2 (1.0f,0.0f);
D3DXVECTOR2 texBL = D3DXVECTOR2 (0.0f,1.0f);
D3DXVECTOR2 texBR = D3DXVECTOR2 (1.0f,1.0f);
D3DXVec2TransformCoord (&texUL,&texUL,&tinf.mTextureMatrix);
D3DXVec2TransformCoord (&texUR,&texUR,&tinf.mTextureMatrix);
D3DXVec2TransformCoord (&texBL,&texBL,&tinf.mTextureMatrix);
D3DXVec2TransformCoord (&texBR,&texBR,&tinf.mTextureMatrix);
//Vertex und Texturinformationen einfügen
int m_iCount = 0;
m_pData[0+(m_iCount*6)].vPos = vec (posUL.x, posUL.y, posUL.z);
m_pData[0+(m_iCount*6)].vtex = vec (texUL.x, texUL.y, 0.0f );
m_pData[0+(m_iCount*6)].dwColor = m_dwColor;
m_pData[1+(m_iCount*6)].vPos = vec (posUR.x, posUR.y, posUR.z);
m_pData[1+(m_iCount*6)].vtex = vec (texUR.x, texUR.y, 0.0f );
m_pData[1+(m_iCount*6)].dwColor = m_dwColor;
m_pData[2+(m_iCount*6)].vPos = vec (posBL.x, posBL.y, posBL.z);
m_pData[2+(m_iCount*6)].vtex = vec (texBL.x, texBL.y, 0.0f );
m_pData[2+(m_iCount*6)].dwColor = m_dwColor;
m_pData[3+(m_iCount*6)].vPos = vec (posUR.x, posUR.y, posUR.z);
m_pData[3+(m_iCount*6)].vtex = vec (texUR.x, texUR.y, 0.0f );
m_pData[3+(m_iCount*6)].dwColor = m_dwColor;
m_pData[4+(m_iCount*6)].vPos = vec (posBL.x, posBL.y, posBL.z);
m_pData[4+(m_iCount*6)].vtex = vec (texBL.x, texBL.y, 0.0f );
m_pData[4+(m_iCount*6)].dwColor = m_dwColor;
m_pData[5+(m_iCount*6)].vPos = vec (posBR.x, posBR.y, posBR.z);
m_pData[5+(m_iCount*6)].vtex = vec (texBR.x, texBR.y, 0.0f );
m_pData[5+(m_iCount*6)].dwColor = m_dwColor;
m_pVertBuff->Unlock ();
m_pDevice->SetFVF (Svert::dwFvF);
m_pDevice->SetTexture (0,m_pTexture);
m_pDevice->SetStreamSource (0,m_pVertBuff,0,sizeof(Svert));
m_pDevice->DrawPrimitive (D3DPT_TRIANGLELIST,0,2);
//_________________________________________________________________
|