istereo
annotate src/istereo.c @ 2:bb68fac22579
sanegl and shit
author | John Tsiombikas <nuclear@mutantstargoat.com> |
---|---|
date | Wed, 07 Sep 2011 02:48:35 +0300 |
parents | 4d25539806d2 |
children | 2c5620f0670c |
rev | line source |
---|---|
nuclear@2 | 1 #include <stdio.h> |
nuclear@2 | 2 #include <assert.h> |
nuclear@1 | 3 #include "opengl.h" |
nuclear@0 | 4 #include "istereo.h" |
nuclear@2 | 5 #include "sanegl.h" |
nuclear@2 | 6 #include "sdr.h" |
nuclear@2 | 7 |
nuclear@2 | 8 unsigned int prog; |
nuclear@0 | 9 |
nuclear@0 | 10 int init(void) |
nuclear@0 | 11 { |
nuclear@2 | 12 if(!(prog = create_program_load("sdr/test.v.glsl", "sdr/test.p.glsl"))) { |
nuclear@2 | 13 fprintf(stderr, "failed to load shader program\n"); |
nuclear@2 | 14 return -1; |
nuclear@2 | 15 } |
nuclear@2 | 16 |
nuclear@0 | 17 return 0; |
nuclear@0 | 18 } |
nuclear@0 | 19 |
nuclear@0 | 20 void cleanup(void) |
nuclear@0 | 21 { |
nuclear@2 | 22 free_program(prog); |
nuclear@0 | 23 } |
nuclear@0 | 24 |
nuclear@0 | 25 void redraw(void) |
nuclear@0 | 26 { |
nuclear@0 | 27 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); |
nuclear@2 | 28 |
nuclear@2 | 29 bind_program(prog); |
nuclear@2 | 30 |
nuclear@2 | 31 gl_matrix_mode(GL_MODELVIEW); |
nuclear@2 | 32 gl_load_identity(); |
nuclear@2 | 33 gl_translatef(0, 0, -8); |
nuclear@2 | 34 |
nuclear@2 | 35 gl_apply_xform(prog); |
nuclear@2 | 36 |
nuclear@2 | 37 gl_begin(GL_QUADS); |
nuclear@2 | 38 gl_color3f(1, 0, 0); |
nuclear@2 | 39 gl_vertex3f(-1, -1, 0); |
nuclear@2 | 40 gl_color3f(0, 1, 0); |
nuclear@2 | 41 gl_vertex3f(1, -1, 0); |
nuclear@2 | 42 gl_color3f(0, 0, 1); |
nuclear@2 | 43 gl_vertex3f(1, 1, 0); |
nuclear@2 | 44 gl_color3f(1, 1, 0); |
nuclear@2 | 45 gl_vertex3f(-1, 1, 0); |
nuclear@2 | 46 gl_end(); |
nuclear@2 | 47 |
nuclear@2 | 48 assert(glGetError() == GL_NO_ERROR); |
nuclear@0 | 49 } |
nuclear@2 | 50 |
nuclear@2 | 51 void reshape(int x, int y) |
nuclear@2 | 52 { |
nuclear@2 | 53 glViewport(0, 0, x, y); |
nuclear@2 | 54 |
nuclear@2 | 55 gl_matrix_mode(GL_PROJECTION); |
nuclear@2 | 56 gl_load_identity(); |
nuclear@2 | 57 glu_perspective(45.0, (float)x / (float)y, 1.0, 1000.0); |
nuclear@2 | 58 } |