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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
// __________________________________________________________________ // Zeichnet den Balken am LadeSchirm je nach Fortschritt und Hintergrund tbResult CGalaxyQuest::RenderLoadDisplay(float &fProzent) { /* ###################################################################### # # Zeichnet den Balken am LadeSchirm je nach Fortschritt (der wird # an den schon geladenen Daten gemessen). Und den Hintergrund # ###################################################################### # # Fertig # ###################################################################### */ TB_INFO("CGQ::RenderLoadDisplay wird ausgeführt"); // Puffer leeren und Szene beginnen tbDirect3D::Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, tbColor(0.0f, 0.0f, 0.0f), 1.0f, 0); tbDirect3D::BeginScene(); // ------------------------------------------------------------------ // Hintergrund erstmal zeichnen // Vertexformat und Hintergrundbildtextur setzen, Z-Buffer aus tbDirect3D::SetFVF(LOAD_SCREEN_FVF); tbDirect3D::SetTexture(0, pLoadScreen); tbDirect3D::SetRS(D3DRS_ZENABLE, D3DZB_FALSE); // Die vier Vertizes des Bilds erstellen (Rechteck) // Links unten aVertex[0].vPosition = tbVector3(0.0f, tbDirect3D::GetScreenSize().y, 0.5f); aVertex[0].fRHW = 1.0f; aVertex[0].Color = tbColor(1.0f, 0.8f, 0.8f); aVertex[0].vTex0 = tbVector2(0.0f, 1.0f); // Links oben aVertex[1].vPosition = tbVector3(0.0f, 0.0f, 0.5f); aVertex[1].fRHW = 1.0f; aVertex[1].Color = tbColor(0.8f, 1.0f, 0.8f); aVertex[1].vTex0 = tbVector2(0.0f, 0.0f); // Rechts unten aVertex[2].vPosition = tbVector3(tbDirect3D::GetScreenSize().x, tbDirect3D::GetScreenSize().y, 0.5f); aVertex[2].fRHW = 1.0f; aVertex[2].Color = tbColor(0.8f, 0.8f, 1.0f); aVertex[2].vTex0 = tbVector2(1.0f, 1.0f); // Rechts oben aVertex[3].vPosition = tbVector3(tbDirect3D::GetScreenSize().x, 0.0f, 0.5f); aVertex[3].fRHW = 1.0f; aVertex[3].Color = tbColor(1.0f, 1.0f, 0.8f); aVertex[3].vTex0 = tbVector2(1.0f, 0.0f); // Als Dreiecksfolge zeichnen tbDirect3D::GetDevice()->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, aVertex, sizeof(LoadscreenFVF)); // ------------------------------------------------------------------ // Balken je nach Prozent zeichnen // Balken Textur aktivieren tbDirect3D::SetTexture(0, pBalken); // Die vier Vertizes des Balkens erstellen (Rechteck) // Links unten aVertex[0].vPosition = tbVector3(fBalkenXMin, fBalkenYMax, 0.5f); // Links oben aVertex[1].vPosition = tbVector3(fBalkenXMin, fBalkenYMin, 0.5f); // Rechts unten aVertex[2].vPosition = tbVector3(fBalkenXMax, (fProzent * fBalkenYMax), 0.5f); // Rechts oben aVertex[3].vPosition = tbVector3(fBalkenXMin, (fProzent * fBalkenYMax), 0.5f); // Als Dreiecksfolge zeichnen tbDirect3D::GetDevice()->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, aVertex, sizeof(LoadscreenFVF)); // ------------------------------------------------------------------ // Szene beenden tbDirect3D::EndScene(); tbDirect3D::Present(); return TB_OK; } |
Zitat von »"bassdscho"«
Die Korrds stimmen bei Rechts oben nicht, hast du das gemeint?
aVertex[3].vPosition = tbVector3(fBalkenXMax, fBalkenYMin, 0.5f);
Alter Hase
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
// Die vier Vertizes des Balkens erstellen (Rechteck) // Links unten aVertex[0].vPosition = tbVector3(fBalkenXMin, fBalkenYMax, 0.5f); // Links oben aVertex[1].vPosition = tbVector3(fBalkenXMin, fBalkenYMin, 0.5f); // Rechts unten aVertex[2].vPosition = tbVector3(fBalkenXMax, fBalkenYMax, 0.5f); // Rechts oben aVertex[3].vPosition = tbVector3(fBalkenXMax, fBalkenYMin, 0.5f); |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
// VertexFormat für Ladeschirm #define LOAD_SCREEN_FVF (D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1) struct LoadscreenFVF { tbVector3 vPosition; float fRHW; D3DCOLOR Color; tbVector2 vTex0; }; |
Werbeanzeige