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 |
vCameraDir = tbVector3(0.0f,1.0f,0.0f); vCameraPos = tbVector3(-55.0f,55.0f,0.0f); // 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(); // Beleuchtung und Culling ausschalten, Dithering aktivieren tbDirect3D::SetRS(D3DRS_LIGHTING, TRUE); tbDirect3D::SetRS(D3DRS_CULLMODE, D3DCULL_CCW); tbDirect3D::SetRS(D3DRS_DITHERENABLE, FALSE); tbDirect3D::SetRS(D3DRS_ZENABLE, TRUE); //// Rotationsvariable immer zwischen 0 und 360 halten //if (fRotation >= 360) // fRotation = 0; //// Rotations- und Translationsmatrix der Miene erzeugen //mRotation1 = tbMatrixRotationX(TB_DEG_TO_RAD(-90)); //mRotation = tbMatrixRotationY(TB_DEG_TO_RAD(30)); ////// Beide Matrizen kombinieren und als Weltmatrix einsetzen mWorld = tbMatrixIdentity(); tbDirect3D::SetTransform(D3DTS_WORLD, mWorld); // Camera mCamera = tbMatrixCamera(vCameraPos, vCameraDir); tbDirect3D::SetTransform(D3DTS_VIEW, mCamera); // Projektionsmatrix erstellen und einsetzen fAspect = (float)(g_pGQ->m_Config.Direct3D.VideoMode.Width) / (float)(g_pGQ->m_Config.Direct3D.VideoMode.Height); mProjection = tbMatrixProjection(TB_DEG_TO_RAD(60.0f), fAspect, 1.0f, 200.0f); tbDirect3D::SetTransform(D3DTS_PROJECTION, mProjection); // Ein Richtungslicht erstellen mit der Richtung der Kamera ZeroMemory(&Light, sizeof(D3DLIGHT9)); Light.Type = D3DLIGHT_DIRECTIONAL; Light.Diffuse = tbColor(0.7f, 0.7f, 0.7f); Light.Ambient = tbColor(0.3f, 0.3f, 0.3f); Light.Specular = tbColor(0.0f, 0.0f, 0.0f); Light.Direction = vCameraDir; tbDirect3D::SetLight(0, &Light); tbDirect3D::LightEnable(0, TRUE); // Miene zeichnen if(mMiene->Render()) TB_ERROR("Rendern von Miene hat nicht funktioniert",TB_ERROR); static char CameraKoords[12]; sprintf(CameraKoords, "Camera X %.1f Camera Y %.1f", vCameraPos.x, vCameraPos.y); // Mir Ist Langweilig Text einblenden pMenueFont->Begin(); //pMenueFont->DrawText(vTMirIstLangweilig, "Mir Ist Lanweilig" ,TB_FF_ALIGN_HCENTER | TB_FF_RELATIVE, -1, cTMirIstLangweilig, cTMirIstLangweilig); pMenueFont->DrawText(vTMirIstLangweilig, CameraKoords, TB_FF_ALIGN_HCENTER | TB_FF_RELATIVE, -1, cTMirIstLangweilig, cTMirIstLangweilig); pMenueFont->End(); tbDirect3D::EndScene(); |
Zitat von »"Nox"«
zaxis = normal(Eye - At)
Zitat von »"Neoticer"«
Ps: ist mein erster Post, ich hoffe ich hab alles richtig gemacht ;-)
Zitat
Wäre besser gewesen, einen neuen Thread aufzumachen, anstatt diesen asbachuralten auszugraben.
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 |
g_pSedanModel = new tbModel; if(g_pSedanModel->Init("Ferrari.3DS.tbm@Data\\Ferrari.zip", "", "@Data\\Ferrari.zip")) { MessageBox(tbDirect3D::Instance().GetWindow(), "Fehler beim Laden der Sedanmodelldatei!", "Fehler", MB_OK | MB_ICONEXCLAMATION); CleanUp(); return 1; } |
C-/C++-Quelltext |
|
1 2 3 |
mWorld = tbMatrixRotationY(Rechts)*tbMatrixTranslation(Position); D3D.SetTransform(D3DTS_WORLD, tbMatrixIdentity()); g_pSedanModel->Render(); |
Werbeanzeige