Resolved that annoying gravity bug and added trajectories, a grid, keyboard navigation and logarithimic scale

This commit is contained in:
2024-07-12 16:07:49 +02:00
parent a93080b371
commit 2afc695aba
10 changed files with 284 additions and 50 deletions
+9 -8
View File
@@ -8,31 +8,32 @@
int main() {
Simulator simulator;
Renderer renderer(1024, 768); // Increased window size for better visibility
Renderer renderer(1600, 1200); // Increased window size for better visibility
// Sun
simulator.addBody(CelestialBody(1.989e30f, glm::vec3(0, 0, 0), glm::vec3(0, 0, 0)));
// Sun (at the center)
simulator.addBody(CelestialBody(1.989e30f, glm::dvec3(0, 0, 0), glm::dvec3(0, 0, 0)));
// Mercury
simulator.addBody(CelestialBody(3.285e23f, glm::vec3(57.9e9f, 0, 0), glm::vec3(0, 47.36e3f, 0)));
simulator.addBody(CelestialBody(3.285e23f, glm::dvec3(57.9e9f, 0, 0), glm::dvec3(0, 47.36e3f, 0)));
// Venus
simulator.addBody(CelestialBody(4.867e24f, glm::vec3(108.2e9f, 0, 0), glm::vec3(0, 35.02e3f, 0)));
simulator.addBody(CelestialBody(4.867e24f, glm::dvec3(108.2e9f, 0, 0), glm::dvec3(0, 35.02e3f, 0)));
// Earth
simulator.addBody(CelestialBody(5.972e24f, glm::vec3(149.6e9f, 0, 0), glm::vec3(0, 29.78e3f, 0)));
simulator.addBody(CelestialBody(5.972e24f, glm::dvec3(149.6e9f, 0, 0), glm::dvec3(0, 29.78e3f, 0)));
// Mars
simulator.addBody(CelestialBody(6.39e23f, glm::vec3(227.9e9f, 0, 0), glm::vec3(0, 24.07e3f, 0)));
simulator.addBody(CelestialBody(6.39e23f, glm::dvec3(227.9e9f, 0, 0), glm::dvec3(0, 24.07e3f, 0)));
const float dt = 3600.0f; // Time step of 1 hour
while (!renderer.shouldClose()) {
renderer.processInput();
simulator.update(dt);
renderer.render(simulator);
renderer.swapBuffers();
std::this_thread::sleep_for(std::chrono::milliseconds(16)); // Aim for roughly 60 FPS
std::this_thread::sleep_for(std::chrono::milliseconds(16));
}
return 0;