istereo
annotate src/glutmain.c @ 39:ff055bff6a15
copyright statements and stuff
author | John Tsiombikas <nuclear@mutantstargoat.com> |
---|---|
date | Sun, 11 Sep 2011 09:03:18 +0300 |
parents | e60f9d8af28d |
children |
rev | line source |
---|---|
nuclear@39 | 1 /* |
nuclear@39 | 2 Stereoscopic tunnel for iOS. |
nuclear@39 | 3 Copyright (C) 2011 John Tsiombikas <nuclear@member.fsf.org> |
nuclear@39 | 4 |
nuclear@39 | 5 This program is free software: you can redistribute it and/or modify |
nuclear@39 | 6 it under the terms of the GNU General Public License as published by |
nuclear@39 | 7 the Free Software Foundation, either version 3 of the License, or |
nuclear@39 | 8 (at your option) any later version. |
nuclear@39 | 9 |
nuclear@39 | 10 This program is distributed in the hope that it will be useful, |
nuclear@39 | 11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
nuclear@39 | 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
nuclear@39 | 13 GNU General Public License for more details. |
nuclear@39 | 14 |
nuclear@39 | 15 You should have received a copy of the GNU General Public License |
nuclear@39 | 16 along with this program. If not, see <http://www.gnu.org/licenses/>. |
nuclear@39 | 17 */ |
nuclear@39 | 18 |
nuclear@39 | 19 |
nuclear@1 | 20 #include <stdio.h> |
nuclear@1 | 21 #include <stdlib.h> |
nuclear@1 | 22 #include <GL/glew.h> |
nuclear@1 | 23 #include <GL/glut.h> |
nuclear@1 | 24 #include "sanegl.h" |
nuclear@2 | 25 #include "istereo.h" |
nuclear@2 | 26 #include "sdr.h" |
nuclear@1 | 27 |
nuclear@1 | 28 void disp(void); |
nuclear@1 | 29 void keyb(unsigned char key, int x, int y); |
nuclear@1 | 30 |
nuclear@1 | 31 int main(int argc, char **argv) |
nuclear@1 | 32 { |
nuclear@1 | 33 glutInit(&argc, argv); |
nuclear@39 | 34 glutInitWindowSize(640, 920); |
nuclear@1 | 35 glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE); |
nuclear@1 | 36 glutCreateWindow("test"); |
nuclear@1 | 37 |
nuclear@1 | 38 glutDisplayFunc(disp); |
nuclear@1 | 39 glutIdleFunc(glutPostRedisplay); |
nuclear@1 | 40 glutReshapeFunc(reshape); |
nuclear@1 | 41 glutKeyboardFunc(keyb); |
nuclear@1 | 42 |
nuclear@2 | 43 glewInit(); |
nuclear@2 | 44 |
nuclear@2 | 45 if(init() == -1) { |
nuclear@2 | 46 return 1; |
nuclear@2 | 47 } |
nuclear@2 | 48 |
nuclear@1 | 49 glutMainLoop(); |
nuclear@1 | 50 return 0; |
nuclear@1 | 51 } |
nuclear@1 | 52 |
nuclear@1 | 53 void disp(void) |
nuclear@1 | 54 { |
nuclear@2 | 55 redraw(); |
nuclear@1 | 56 |
nuclear@1 | 57 glutSwapBuffers(); |
nuclear@1 | 58 } |
nuclear@1 | 59 |
nuclear@24 | 60 extern int stereo; |
nuclear@31 | 61 extern int use_bump; |
nuclear@24 | 62 |
nuclear@1 | 63 void keyb(unsigned char key, int x, int y) |
nuclear@1 | 64 { |
nuclear@1 | 65 switch(key) { |
nuclear@1 | 66 case 27: |
nuclear@1 | 67 exit(0); |
nuclear@1 | 68 |
nuclear@24 | 69 case 's': |
nuclear@24 | 70 stereo = !stereo; |
nuclear@24 | 71 break; |
nuclear@24 | 72 |
nuclear@31 | 73 case 'b': |
nuclear@31 | 74 use_bump = !use_bump; |
nuclear@31 | 75 break; |
nuclear@31 | 76 |
nuclear@24 | 77 case '`': |
nuclear@24 | 78 { |
nuclear@24 | 79 int xsz = glutGet(GLUT_WINDOW_WIDTH); |
nuclear@24 | 80 int ysz = glutGet(GLUT_WINDOW_HEIGHT); |
nuclear@24 | 81 |
nuclear@24 | 82 glutReshapeWindow(ysz, xsz); |
nuclear@24 | 83 } |
nuclear@24 | 84 break; |
nuclear@24 | 85 |
nuclear@1 | 86 default: |
nuclear@1 | 87 break; |
nuclear@1 | 88 } |
nuclear@1 | 89 } |