6 #include "glut_janitor.h"
9 #include "performance.h"
11 int main(int argc, char** argv) {
12 glutInit(&argc, argv);
13 // glutInitContextVersion(4,5); TODO establish correct context
15 glutInitWindowSize(800, 600);
17 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
18 glutCreateWindow(NULL);
20 glutSetWindowTitle(getGlInfoString());
22 GLenum glewInitStatus = glewInit();
23 if (glewInitStatus != GLEW_OK) {
24 fprintf(stderr, "GLEW init failed: %s\n", glewGetErrorString(glewInitStatus));
27 printf("GLEW %s\n", glewGetString(GLEW_VERSION));
29 if (GLXEW_EXT_swap_control) {
30 Display* display = glXGetCurrentDisplay();
31 GLXDrawable drawable = glXGetCurrentDrawable();
33 glXSwapIntervalEXT(display, drawable, 1);
36 fprintf(stderr, "Drawable is not here\n");
39 else if (GLXEW_MESA_swap_control) {
40 glXSwapIntervalMESA(1);
41 printf("Swap interval %d\n", glXGetSwapIntervalMESA());
44 fprintf(stderr, "Could not enable vsync\n");
47 glutDisplayFunc(renderScene);
48 glutReshapeFunc(resizeStage);
49 //glutKeyboardFunc(key_pressed);
50 //glutMouseFunc(mouse_button_event);
51 //glutMotionFunc(mouse_motion_event);
54 initPerformanceMetering();
58 fprintf(stderr, "*model = ");
59 print_struct_aiScene(stderr, model);
60 fprintf(stderr, "\n*(*model).mRootNode = ");
61 print_struct_aiNode(stderr, (*model).mRootNode);
62 fprintf(stderr, "\n");