Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Anonymous
unregistriert
Zitat von »"Chef-Koch"«
also wenne des JO! Fenster suw. meinst, dann muss ich mich entschuldigen, ich wusst nur nich was ich schreiben soll, aber des dahinter hab ich von Davids Code
Sheddex
unregistriert
Zitat
mir ist gerade etwas aufgefallen: wenn ich
Code (C++):
g_aTriangle[iTriangle].aVertex[iVertex].vPosition = tbVector3Random();
aus der for schleife nehme und
Code (C++):
g_aTriangle.aVertex[0].vPosition = tbVector3( 1.0f,0.0f,0.0f);
g_aTriangle.aVertex[1].vPosition = tbVector3( 0.0f, 1.0f, 0.0f);
g_aTriangle.aVertex[2].vPosition = tbVector3( 0.0f, 0.0f, 1.0f);
daraus mache ist die Position des Dreieckt mhr so anch vorne geneigt, müsste es aber nicht in der Mitte des Bildes und "gerade aufgerichtet" sein?
C-/C++-Quelltext |
|
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 |
struct Vertex { float x,y,z; float tu, tv; static const DWORD DW_FVF = D3DFVF_XYZ | D3DFVF_TEX1; }; Vertex g_aV[4]; ... g_aV[0].x = -1.0f; g_aV[0].y = -1.0f; g_aV[0].z = 0.0f; g_aV[0].tu = 0.0f; g_aV[0].tv = 1.0f; g_aV[1].x = -1.0f; g_aV[1].y = 1.0f; g_aV[1].z = 0.0f; g_aV[1].tu = 0.0f; g_aV[1].tv = 0.0f; g_aV[2].x = 1.0f; g_aV[2].y = 1.0f; g_aV[2].z = 0.0f; g_aV[2].tu = 1.0f; g_aV[2].tv = 0.0f; g_aV[3].x = 1.0f; g_aV[3].y = -1.0f; g_aV[3].z = 0.0f; g_aV[3].tu = 1.0f; g_aV[3].tv = 1.0f; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 |
mRotation = tbMatrixRotationY(0.0f); mScaling = tbMatrixScaling(tbVector3(g_aTriangle.fSize)); mTranslation = tbMatrixTranslation(tbVector3(0.0f, 0.0f, 2.0f)); // Beide Matrizen kombinieren und als Weltmatrix einsetzen mWorld = mRotation * mScaling * mTranslation; g_pD3DDevice->SetTransform(D3DTS_WORLD, (D3DMATRIX*)(&mWorld)); |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// Nun das 1. Dreieck zeichnen if(FAILED(hResult = g_pD3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLELIST, // Dreiecksliste 1, // 1 Dreieck g_aTriangle.aVertex[0][1][2], // Vertexdaten sizeof(SVertex)))) // Vertexgröße { // Fehler beim Zeichnen! MessageBox(g_hWindow, "Fehler beim Zeichnen des Dreiecks!", "Fehler", MB_OK | MB_ICONEXCLAMATION); TB_ERROR_DIRECTX("g_pD3DDevice->DrawPrimitiveUP", hResult, TB_STOP); } // Nun das 2. Dreieck zeichnen if(FAILED(hResult = g_pD3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLELIST, // Dreiecksliste 1, // 1 Dreieck g_aTriangle.aVertex[1][2][3], // Vertexdaten sizeof(SVertex)))) // Vertexgröße { // Fehler beim Zeichnen! MessageBox(g_hWindow, "Fehler beim Zeichnen des Dreiecks!", "Fehler", MB_OK | MB_ICONEXCLAMATION); TB_ERROR_DIRECTX("g_pD3DDevice->DrawPrimitiveUP", hResult, TB_STOP); } |
Werbeanzeige