[STRIKE]The result is a number that always increases while the time passes.[/STRIKE]
The code below is wrong
double seconds = 1;
int frames = 0;
/*----------------------------------Main Game Loop----------------------------------*/
while (!glfwWindowShouldClose(window))
{
double start = glfwGetTime();
std::cout << frames / seconds << std::endl;
//Handle Events.
EventHandler(window);
//Clear The Screen.
renderer->Clear(0, 0, 0);
sp->Render(renderer, screen_width, screen_height);
sp->Move(speed * (glfwGetTime() / 1000), left, right, up, down);
//Update the Renderer.
renderer->Update(window);
double end = glfwGetTime();
frames++;
seconds = end - start;
}
/*----------------------------------Main Game Loop----------------------------------*/
Well, actually i figured out that glfwGetTime() returns time in seconds and secondly i made this algorithm:
Sprite *sp = new Sprite("Resources/Images/cherno.png", 100, 100);
double time = 0;
int frames = 0;
int fps = 0;
/*----------------------------------Main Game Loop----------------------------------*/
while (!glfwWindowShouldClose(window))
{
double start = glfwGetTime();
std::cout << fps << std::endl;
if (time >= 1)
{
fps = frames;
frames = 0;
time = 0;
}
//Handle Events.
EventHandler(window);
//Clear The Screen.
renderer->Clear(0, 0, 0);
sp->Render(renderer, screen_width, screen_height);
sp->Move(speed * (glfwGetTime() / 1000), left, right, up, down);
//Update the Renderer.
renderer->Update(window);
frames++;
double end = glfwGetTime();
time += end - start;
}
/*----------------------------------Main Game Loop----------------------------------*/
I believe this works, but i would appreciate your advice.