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
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
tbResult InitScene() { HRESULT hResult; if (FAILED(hResult = g_pD3DDevice->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE))) { TB_ERROR_DIRECTX("g_pD3DDevice->SetFVF", hResult, TB_ERROR); } // RenderStates setzen g_pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE); g_pD3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE); g_pD3DDevice->SetRenderState(D3DRS_DITHERENABLE, TRUE); // Angaben für die Projektionsmatrix float fAspectRatio = g_Direct3DParameters.VideoMode.Width / g_Direct3DParameters.VideoMode.Height; tbMatrix mProjektionsMatrix = tbMatrixProjection(TB_DEG_TO_RAD(90.0f), fAspectRatio, 0.1f, 100.0f); g_pD3DDevice->SetTransform(D3DTS_PROJECTION, (D3DMATRIX*)(&mProjektionsMatrix)); // Das Dreieck definieren g_aTriangleVertex[0].vPosition = tbVector3(-1.0f, 1.0f, 0.0f); g_aTriangleVertex[1].vPosition = tbVector3(1.0f, 1.0f, 0.0f); g_aTriangleVertex[2].vPosition = tbVector3(1.0f, -1.0f, 0.0f); g_aTriangleVertex[3].vPosition = tbVector3(-1.0f, -1.0f, 0.0f); g_aTriangleVertex[0].dwColor = tbColor(1.0f, 0.0f, 0.0f); g_aTriangleVertex[1].dwColor = tbColor(0.0f, 1.0f, 0.0f); g_aTriangleVertex[2].dwColor = tbColor(0.0f, 0.0f, 1.0f); g_aTriangleVertex[3].dwColor = tbColor(1.0f, 1.0f, 1.0f); return TB_OK; } tbResult Render(float fNumSecsPassed) { HRESULT hResult; tbMatrix mRotation(tbMatrixRotationY(TB_DEG_TO_RAD(g_fTime * 90.0f))); tbMatrix mTranslation(tbMatrixTranslation(tbVector3(0.0f, 0.0f, 2.0f))); // Multiplikation von Rotations- mit Translationsmatrix tbMatrix mWorld (mRotation * mTranslation); // Einsetzen der Matrix in die Weltmatrix g_pD3DDevice->SetTransform(D3DTS_WORLD, (D3DMATRIX*)(&mWorld)); // Den Bildbuffer und den Z-Buffer leeren if (FAILED(hResult =g_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,63), 1.0f, 0))) { TB_ERROR_DIRECTX("g_pD3DDevice->Clear", hResult, TB_STOP); } // Zeichnen des Dreiecks g_pD3DDevice->BeginScene(); if (FAILED(hResult = g_pD3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 1, g_aTriangleVertex, sizeof(SVertex)))) { TB_ERROR_DIRECTX("g_pD3DDevice->DrawIndexedPrimitiveUP", hResult, TB_STOP); } g_pD3DDevice->EndScene(); g_pD3DDevice->Present(NULL, NULL, NULL, NULL); return TB_OK; } |
Frischling
Wohnort: Wien 1200 und Techelsberg 9212
Beruf: Junior Software-Entwickler & Software Testing
Wie soll der Aufruf dann ausschaun?Zitat
Zeichnet die Dreiecke
1. 2. 3.
2. 3. 4.
C-/C++-Quelltext |
|
1 2 3 4 5 |
// Nun das Dreieck zeichnen if(FAILED(hResult = g_pD3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, // Dreiecksliste 2, // 1 Dreieck g_aTriangleVertex, // Vertexdaten sizeof(SVertex)))) // Vertexgröße |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Strike« (02.02.2014, 00:40)
Werbeanzeige