diff --git a/FPSCounter.cpp b/FPSCounter.cpp index 3c9baa7..98bc060 100644 --- a/FPSCounter.cpp +++ b/FPSCounter.cpp @@ -1,4 +1,3 @@ -#pragma once #include #include diff --git a/main.cpp b/main.cpp index 6e118e7..8709dbd 100644 --- a/main.cpp +++ b/main.cpp @@ -121,14 +121,14 @@ float velocity = 0.0f; // Aktualna prędkość łazika float rotationVelocity = 0.0f; // Prędkość obrotu łazika -const float friction = 0.01f; // Współczynnik tarcia (μ) +const float friction = 0.1f; // Współczynnik tarcia (μ) const float maxSpeed = 5.0f; // Maksymalna prędkość łazika const float acceleration = 0.2f; const float rotationAcceleration = 0.075f; // Przyspieszenie obrotu const float rotationFriction = 0.1f; // Współczynnik tarcia obrotu -const float maxRotationSpeed = 1.0f; // Maksymalna prędkość obrotu +const float maxRotationSpeed = 0.7f; // Maksymalna prędkość obrotu // Struktura do reprezentacji płotu struct Plot { @@ -417,7 +417,7 @@ static unsigned char* LoadBitmapFile(char* filename, BITMAPINFOHEADER* bitmapInf return bitmapImage; } -static void SetDCPixelFormat(HDC hDC) { +void SetDCPixelFormat(HDC hDC) { int nPixelFormat; static PIXELFORMATDESCRIPTOR pfd = { @@ -862,7 +862,8 @@ static void SetupRC() { // All materials hereafter have full specular reflectivity // with a high shine - glMaterialfv(GL_FRONT, GL_SPECULAR, specref); + GLfloat specref2[] = {0.2f, 0.2f, 0.2f, 0.2f}; + glMaterialfv(GL_FRONT, GL_SPECULAR, specref2); glMateriali(GL_FRONT, GL_SHININESS, 128); // White background @@ -922,22 +923,23 @@ void static RenderScene(void) { // Przywrócenie macierzy widoku gluLookAt( - Foward - 50.0f * sin((Rotation + 180.0f) * GL_PI / 180.0f), // Pozycja kamery + Foward - 50.0f * sin((Rotation + 180.0f) * GL_PI / 180.0f), // Pozycja kamery CameraHeight/4, // Wysokość kamery - Sides - 50.0f * cos((Rotation + 180.0f) * GL_PI / 180.0f), // Kamera wzdłuż osi X i Z - Foward, 0.0f, Sides, // Punkt patrzenia (łazik) - 0.0f, 1.0f, 0.0f // Wektor "góry" + Sides - 50.0f * cos((Rotation + 180.0f) * GL_PI / 180.0f), // Kamera wzdłuż osi X i Z + Foward, 0.0f, Sides, // Punkt patrzenia (łazik) + 0.0f, 1.0f, 0.0f // Wektor "góry" ); // Rysowanie mapy glPushMatrix(); glColor3f(0.0, 1.0, 0.0); // Zielony kolor + mapa.draw(); platforma(50.0f, 0.0f, 45.0f, 600.0f, 650.0f); glPopMatrix(); // Rysowanie łazika glPushMatrix(); - glTranslatef(Foward, 0.0f, Sides); // Translacja łazika + glTranslatef(Foward, 0.0f, Sides); // Translacja łazika glRotatef(Rotation, 0.0f, 1.0f, 0.0f); // Obrót łazika glColor3f(1.0, 0.0, 0.0); // Czerwony kolor dla łazika @@ -947,10 +949,10 @@ void static RenderScene(void) { glPopMatrix(); // Rysowanie innych obiektów - plot(-550.0f, 3.0f, 50.0f, 1310.0f, 4.0f, 0); - plot(50.0f, 3.0f, -600.0f, 1200.0f, 4.0f, 1); - plot(650.0f, 3.0f, 50.0f, 1310.0f, 4.0f, 0); - plot(50.0f, 3.0f, 695.0f, 1200.0f, 4.0f, 1); + plot(-550.0f, 3.0f, 50.0f, 1310.0f, 4.0f, 0); // 0 - pionowo + plot( 50.0f, 3.0f, -600.0f, 1200.0f, 4.0f, 1); // 1 - poziomo + plot( 650.0f, 3.0f, 50.0f, 1310.0f, 4.0f, 0); + plot( 50.0f, 3.0f, 695.0f, 1200.0f, 4.0f, 1); stodola(10.0f, 0.0f, 2.0f, 40.0f); // Zamiana buforów (double buffering)