glutTimerFunc не делает задержку, а просто зацикливается навсегда. Как fxp. а (1). Я что-то не так? Или это проблема совместимости? Я использую Arch Linux x64 с gcc. И я как бы смешивал 32-битные программы с 64-битными.
Я пытаюсь создать программу, которая проверяет ввод при постоянном обновлении кадров с задержкой.
Мои включает:
#include <GL/glut.h>
#include <GL/glu.h>
#include <stdio.h>
#include <string.h>
И мои основные функции:
void timer(void)
{
glutPostRedisplay();
glutTimerFunc ( 30 , mainloop , 0 );
}
int main() {
loadconfiguration();
char *myargv [1];
int myargc=1;
myargv [0]=strdup ("./file");
glutInit(&myargc, myargv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
glutInitWindowPosition(100, 100);
glutInitWindowSize(displayx, displayy);
printf("Making a window\n");
winIDMain = glutCreateWindow("GL Game");
mainloop();
}
void mainloop(void){
Initilize();
glutSetWindow (winIDMain);
glutDisplayFunc (render);
glutReshapeFunc (reshape);
glutKeyboardFunc (keyboard);
glutMouseFunc (mouse);
glutIdleFunc (timer);
glutMainLoop();
}
Не волнуйтесь, остальные функции чистые :)
Код работал раньше Не знаю, почему он не работает сейчас.