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 |
tbMatrix mWorld; // Zuerst zeichnen wir die Sky-Box. Zu Beginn muss das Vertexformat gesetzt werden. tbDirect3D::SetFVF(SKYBOX_FVF); TB_INFO("CGame::RenderSkybox wird ausgeführt"); // Die Beleuchtung und Z-Buffering schalten wir ab. tbDirect3D::SetRS(D3DRS_LIGHTING, FALSE); tbDirect3D::SetRS(D3DRS_ZENABLE, FALSE); tbDirect3D::SetRS(D3DRS_ZWRITEENABLE, FALSE); TB_INFO("CGame::RenderSkybox wird ausgeführt"); // In die erste Texturschicht setzen wir die Umgebungstextur. Die zweite Schicht ist leer. tbDirect3D::SetTexture(0, pSkyboxTexture); tbDirect3D::SetTexture(1, NULL); TB_INFO("CGame::RenderSkybox wird ausgeführt"); // Nun erstellen wir eine Translationsmatrix, die dafür sorgt, dass sich die Kamera immer // genau in der Mitte der Sky-Box befindet. mWorld = tbMatrixTranslation(vCameraPos); tbDirect3D::SetTransform(D3DTS_WORLD, mWorld); TB_INFO("CGame::RenderSkybox wird ausgeführt"); // Jetzt zeichnen wir die Sky-Box mit DrawIndexedPrimitiveUP. tbDirect3D::GetDevice()->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, // Dreiecksliste 0, // Beginn bei 0 8, // Größter Index 12, // Anz. Dreiecke usSkyboxIndex, // Indizes D3DFMT_INDEX16, // 16 Bits g_pGQ->aSkyboxVertex, // Vertizes sizeof(SkyboxFVF)); // Vertexgröße TB_INFO("CGame::RenderSkybox wird ausgeführt"); // Die Einstellungen wieder zurücksetzen tbDirect3D::SetRS(D3DRS_LIGHTING, TRUE); tbDirect3D::SetRS(D3DRS_ZENABLE, TRUE); tbDirect3D::SetRS(D3DRS_ZWRITEENABLE, TRUE); TB_INFO("CGame::RenderSkybox wird ausgeführt"); |
C-/C++-Quelltext |
|
1 2 3 |
PDIRECT3DCUBETEXTURE9 pSkyboxTexture; pSkyboxTexture = tbTextureManager::LoadCubeTexture("Data\\EnvMap.dds",D3DX_DEFAULT,1,D3DFMT_UNKNOWN,0,D3DPOOL_MANAGED,D3DX_FILTER_NONE, D3DX_DEFAULT,0); |
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 |
TB_INFO("CGame::RenderSkybox wird ausgeführt"); unsigned short usSkyboxIndex[36]; PDIRECT3DCUBETEXTURE9 pSkyboxTexture; tbMatrix mWorld; TB_INFO("CGame::RenderSkybox Variablen initialisierung hat geklappt"); // Texture für Skybox laden pSkyboxTexture = tbTextureManager::LoadCubeTexture("Data\\EnvMap.dds",D3DX_DEFAULT,1,D3DFMT_UNKNOWN,0,D3DPOOL_MANAGED,D3DX_FILTER_NONE, D3DX_DEFAULT,0); if(pSkyboxTexture == NULL) TB_ERROR("Fehler beim Laden von Data\\EnvMap.dds", TB_ERROR); TB_INFO("CGame::RenderSkybox Texturladen hat geklappt"); // Skybox Positions- und Texturkoordinaten festlegen g_pGQ->aSkyboxVertex[0].vPosition = tbVector3(-1.0f, 1.0f, 1.0f); g_pGQ->aSkyboxVertex[1].vPosition = tbVector3(1.0f, 1.0f, 1.0f); g_pGQ->aSkyboxVertex[2].vPosition = tbVector3(1.0f, 1.0f, -1.0f); g_pGQ->aSkyboxVertex[3].vPosition = tbVector3(-1.0f, 1.0f, -1.0f); g_pGQ->aSkyboxVertex[4].vPosition = tbVector3(-1.0f, -1.0f, 1.0f); g_pGQ->aSkyboxVertex[5].vPosition = tbVector3(1.0f, -1.0f, 1.0f); g_pGQ->aSkyboxVertex[6].vPosition = tbVector3(1.0f, -1.0f, -1.0f); g_pGQ->aSkyboxVertex[7].vPosition = tbVector3(-1.0f, -1.0f, -1.0f); g_pGQ->aSkyboxVertex[0].vTexture = g_pGQ->aSkyboxVertex[0].vPosition; g_pGQ->aSkyboxVertex[1].vTexture = g_pGQ->aSkyboxVertex[1].vPosition; g_pGQ->aSkyboxVertex[2].vTexture = g_pGQ->aSkyboxVertex[2].vPosition; g_pGQ->aSkyboxVertex[3].vTexture = g_pGQ->aSkyboxVertex[3].vPosition; g_pGQ->aSkyboxVertex[4].vTexture = g_pGQ->aSkyboxVertex[4].vPosition; g_pGQ->aSkyboxVertex[5].vTexture = g_pGQ->aSkyboxVertex[5].vPosition; g_pGQ->aSkyboxVertex[6].vTexture = g_pGQ->aSkyboxVertex[6].vPosition; g_pGQ->aSkyboxVertex[7].vTexture = g_pGQ->aSkyboxVertex[7].vPosition; TB_INFO("CGame::RenderSkybox Texturkoord und Positionkoords wurden gefüllt"); // Idizes der Skybok eintragen usSkyboxIndex[36] = 7,3,0, 4,7,0, // Vorderseite 5,1,2, 6,5,2, // Hinterseite 4,0,1, 5,4,1, // Linke Seite 6,2,3, 7,6,3, // Rechte Seite 2,1,0, 3,2,0, // Oberseite 4,5,6, 7,4,6; // Unterseite TB_INFO("CGame::RenderSkybox Inizes wurden eingetragen"); // Zuerst zeichnen wir die Sky-Box. Zu Beginn muss das Vertexformat gesetzt werden. tbDirect3D::SetFVF(SKYBOX_FVF); TB_INFO("CGame::RenderSkybox Setzen des Vertexformats hat geklappt"); // Die Beleuchtung und Z-Buffering schalten wir ab. tbDirect3D::SetRS(D3DRS_LIGHTING, FALSE); tbDirect3D::SetRS(D3DRS_ZENABLE, FALSE); tbDirect3D::SetRS(D3DRS_ZWRITEENABLE, FALSE); TB_INFO("CGame::RenderSkybox Renderstates wurden gesetzt"); // In die erste Texturschicht setzen wir die Umgebungstextur. Die zweite Schicht ist leer. tbDirect3D::SetTexture(0, pSkyboxTexture); TB_INFO("CGame::RenderSkybox Textur wurde gesetzt"); return TB_OK; |
Zitat
Mcrosoft Visual C++ Runtime Libary
Buffer overrun detected!
Programm: "Mein Spiel"
A buffer overrun has been detected wich has corrupted the programm's internal state. The programm cannot safely continue execution and must now be terminated.
OK
Zitat
INFO: CGame::RenderSkybox wird ausgeführt (Game.cpp, Zeile 369, Funktion CGame::RenderSkybox)
INFO: CGame::RenderSkybox Variablen initialisierung hat geklappt (Game.cpp, Zeile 375, Funktion CGame::RenderSkybox)
INFO: CGame::RenderSkybox Texturladen hat geklappt (Game.cpp, Zeile 381, Funktion CGame::RenderSkybox)
INFO: CGame::RenderSkybox Texturkoord und Positionkoords wurden gefüllt (Game.cpp, Zeile 402, Funktion CGame::RenderSkybox)
INFO: CGame::RenderSkybox Inizes wurden eingetragen (Game.cpp, Zeile 412, Funktion CGame::RenderSkybox)
INFO: CGame::RenderSkybox Setzen des Vertexformats hat geklappt (Game.cpp, Zeile 417, Funktion CGame::RenderSkybox)
INFO: CGame::RenderSkybox Renderstates wurden gesetzt (Game.cpp, Zeile 424, Funktion CGame::RenderSkybox)
INFO: CGame::RenderSkybox Textur wurde gesetzt (Game.cpp, Zeile 429, Funktion CGame::RenderSkybox)
Der Thread 'Win32 Thread' (0xdc0) hat mit Code 0 (0x0) geendet.
Der Thread 'Win32 Thread' (0x8f0) hat mit Code 0 (0x0) geendet.
Der Thread 'Win32 Thread' (0x8bc) hat mit Code 3 (0x3) geendet.
Der Thread 'Win32 Thread' (0xf4 hat mit Code 3 (0x3) geendet.
Der Thread 'Win32 Thread' (0x580) hat mit Code 3 (0x3) geendet.
WARNUNG: tbExit wurde nicht aufgerufen! Wird automatisch erledigt... (TriBase.cpp, Zeile 49, Funktion (Unbekannt))
INFO: TriBase-Engine wird heruntergefahren... (TriBase.cpp, Zeile 110, Funktion (Unbekannt))
WARNUNG: Direct3D wurde nicht heruntergefahren! Wird automatisch erledigt... (TriBase.cpp, Zeile 115, Funktion (Unbekannt))
INFO: Die Direct3D-Komponente wurde heruntergefahren. (tbDirect3D.cpp, Zeile 308, Funktion (Unbekannt))
WARNUNG: DirectInput wurde nicht heruntergefahren! Wird automatisch erledigt... (TriBase.cpp, Zeile 122, Funktion (Unbekannt))
INFO: Die DirectInput-Komponente wurde heruntergefahren. (tbDirectInput.cpp, Zeile 779, Funktion (Unbekannt))
WARNUNG: Texturen werden automatisch gelöscht! Bitte die Exit-Methode von tbTextureManager aufrufen! (TriBase.cpp, Zeile 136, Funktion (Unbekannt))
INFO: Der Texturmanager wurde heruntergefahren. (tbTextureManager.cpp, Zeile 57, Funktion (Unbekannt))
INFO: Alle Speicherbereiche freigegeben! (tbMemory.cpp, Zeile 116, Funktion (Unbekannt))
INFO: Herunterfahren abgeschlossen! (TriBase.cpp, Zeile 146, Funktion (Unbekannt))
Werbeanzeige