audio responds to mouse motion
[maximus:soft-rock-revisited.git] / gpu / main.c
1 /* =====================================================================
2 soft-rock-revisited
3 Copyright (C) 2008-2012  Claude Heiland-Allen <claude@mathr.co.uk>
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 ------------------------------------------------------------------------
18 Main Program Entry Point
19 ===================================================================== */
20
21 #include <stdio.h>
22 #include <GL/glew.h>
23 #include <GL/glut.h>
24
25 #include "revisited.h"
26 #include "config.h"
27
28 int main(int argc, char **argv) {
29   /* initialize GLUT etc */
30   fprintf(stderr, "soft-rock-revisited (GPL) 2012 Claude Heiland-Allen <claude@mathr.co.uk>\n");
31   glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
32   glutInitWindowSize(config_win_width, config_win_height);
33   glutInit(&argc, argv);
34   glutCreateWindow("srrv");
35   glewInit();
36   glClampColor(GL_CLAMP_FRAGMENT_COLOR, GL_FALSE);
37   glClampColor(GL_CLAMP_READ_COLOR, GL_FALSE);
38   /* activate callbacks and enter main loop */
39   if (revisited_init()) {
40     glutDisplayFunc(revisited_display);
41     glutReshapeFunc(revisited_reshape);
42     glutIdleFunc(revisited_idle);
43     glutKeyboardFunc(revisited_keynormal);
44     glutSpecialFunc(revisited_keyspecial);
45     glutMouseFunc(revisited_mouse);
46     glutMotionFunc(revisited_motion);
47     glutPassiveMotionFunc(revisited_motion);
48     glutMainLoop();
49     return 0; // never reached
50   } else {
51     return 1;
52   }
53 }