Compare commits
1 Commits
0725312d80
...
Sterowanie
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fa824192b7 |
65
main.cpp
65
main.cpp
@@ -73,46 +73,12 @@ void SetDCPixelFormat(HDC hDC);
|
|||||||
|
|
||||||
int polygonmode = 0;
|
int polygonmode = 0;
|
||||||
std::time_t lastTime = std::time(nullptr);
|
std::time_t lastTime = std::time(nullptr);
|
||||||
int monitormode = 0;
|
int monitormode = 1;
|
||||||
int monitormodecounter = 0;
|
int monitormodecounter = 0;
|
||||||
std::time_t monitormodehelper;
|
std::time_t monitormodehelper;
|
||||||
|
|
||||||
//Zmienne do ruchu ##############################################
|
|
||||||
/*
|
|
||||||
float Foward = 0.0f; // Pozycja łazika w przód/tył
|
|
||||||
float Sides = 0.0f; // Pozycja łazika w lewo/prawo
|
|
||||||
float Rotation = 0.0f; // Rotacja łazika (w stopniach)
|
|
||||||
|
|
||||||
// Zmienne do sterowania kamerą
|
|
||||||
float CameraHeight = 50.0f; // Wysokość kamery
|
|
||||||
|
|
||||||
void MoveRover(bool forward) {
|
|
||||||
// Zamieniamy kąt na radiany
|
|
||||||
float radRotation = Rotation * GL_PI / 180.0f;
|
|
||||||
|
|
||||||
// Wektor ruchu w kierunku przód/tył (kierunek łazika)
|
|
||||||
float moveX = cos(radRotation);
|
|
||||||
float moveZ = sin(radRotation);
|
|
||||||
|
|
||||||
// Ruch w przód
|
|
||||||
if (forward) {
|
|
||||||
Sides -= 1.1f * moveX;
|
|
||||||
Foward -= 1.1f * moveZ;
|
|
||||||
}
|
|
||||||
// Ruch w tył
|
|
||||||
else {
|
|
||||||
Sides += 1.1f * moveX;
|
|
||||||
Foward += 1.1f * moveZ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Funkcja do obrotu kamery i łazika (A/D)
|
|
||||||
void RotateRoverAndCamera(float angle) {
|
|
||||||
Rotation += angle;
|
|
||||||
if (Rotation >= 360.0f) Rotation -= 360.0f;
|
|
||||||
if (Rotation < 0.0f) Rotation += 360.0f;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
//Zmienne do ruchu ##############################################^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
//Zmienne do ruchu ##############################################^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
FPSCounter fpsCounter;
|
FPSCounter fpsCounter;
|
||||||
static const int targetFPS = 144; // Celowany FPS
|
static const int targetFPS = 144; // Celowany FPS
|
||||||
@@ -144,13 +110,13 @@ float MoveSpeed = 1.0f; // Prędkość poruszania się
|
|||||||
|
|
||||||
|
|
||||||
float velocity = 0.0f; // Aktualna prędkość łazika
|
float velocity = 0.0f; // Aktualna prędkość łazika
|
||||||
const float friction = 0.1f; // Współczynnik tarcia (μ)
|
const float friction = 0.05f; // Współczynnik tarcia (μ)
|
||||||
const float maxSpeed = 3.0f; // Maksymalna prędkość łazika
|
const float maxSpeed = 3.0f; // Maksymalna prędkość łazika
|
||||||
const float acceleration = 0.1f;
|
const float acceleration = 0.2f;
|
||||||
float rotationVelocity = 0.0f; // Prędkość obrotu łazika
|
float rotationVelocity = 0.0f; // Prędkość obrotu łazika
|
||||||
const float rotationAcceleration = 0.1f; // Przyspieszenie obrotu
|
const float rotationAcceleration = 0.1f; // Przyspieszenie obrotu
|
||||||
const float rotationFriction = 0.05f; // Współczynnik tarcia obrotu
|
const float rotationFriction = 0.05f; // Współczynnik tarcia obrotu
|
||||||
const float maxRotationSpeed = 5.0f; // Maksymalna prędkość obrotu
|
const float maxRotationSpeed = 3.0f; // Maksymalna prędkość obrotu
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -466,19 +432,7 @@ void RenderScene(void) {
|
|||||||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// prymitywny licznik FPS
|
|
||||||
if (monitormode) {
|
|
||||||
std::time_t now_t = std::time(nullptr);
|
|
||||||
//yRot -= 1; // showcase demo
|
|
||||||
if (now_t > monitormodehelper) {
|
|
||||||
std::cout << (int)(monitormodecounter / (now_t - monitormodehelper)) << " fps\n";
|
|
||||||
monitormodehelper = now_t;
|
|
||||||
monitormodecounter = 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
monitormodecounter++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clear the screen
|
// Clear the screen
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
@@ -911,14 +865,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
keyDPressed = true;
|
keyDPressed = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 114: // F3
|
|
||||||
monitormode = !monitormode;
|
|
||||||
if (monitormode) {
|
|
||||||
monitormodehelper = std::time(nullptr) - 1;
|
|
||||||
timestampedCout("Wlaczono tryb monitorowania wydajnosci.");
|
|
||||||
}
|
|
||||||
if (!monitormode) timestampedCout("Wylaczono tryb monitorowania wydajnosci.");
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
timestampedCout("Nacisnieto nierozpoznany klawisz: " << (int)wParam);
|
timestampedCout("Nacisnieto nierozpoznany klawisz: " << (int)wParam);
|
||||||
|
|||||||
Reference in New Issue
Block a user