conworlds
annotate src/vr/vr_null.c @ 4:e6948e131526
adding a vr wrapper
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Wed, 20 Aug 2014 06:33:43 +0300 |
parents | |
children | 8b7da5ab814e |
rev | line source |
---|---|
nuclear@4 | 1 #ifdef WIN32 |
nuclear@4 | 2 #define WIN32_LEAN_AND_MEAN |
nuclear@4 | 3 #include <windows.h> |
nuclear@4 | 4 #endif |
nuclear@4 | 5 |
nuclear@4 | 6 #ifdef __APPLE__ |
nuclear@4 | 7 #include <OpenGL/gl.h> |
nuclear@4 | 8 #else |
nuclear@4 | 9 #include <GL/gl.h> |
nuclear@4 | 10 #endif |
nuclear@4 | 11 |
nuclear@4 | 12 #include "vr_impl.h" |
nuclear@4 | 13 |
nuclear@4 | 14 static int init(void) |
nuclear@4 | 15 { |
nuclear@4 | 16 return 0; |
nuclear@4 | 17 } |
nuclear@4 | 18 |
nuclear@4 | 19 static void draw(unsigned int fbtex, float u, float maxu, float v, float maxv) |
nuclear@4 | 20 { |
nuclear@4 | 21 glPushAttrib(GL_ENABLE_BIT | GL_TRANSFORM_BIT); |
nuclear@4 | 22 |
nuclear@4 | 23 glDisable(GL_LIGHTING); |
nuclear@4 | 24 glDisable(GL_DEPTH_TEST); |
nuclear@4 | 25 glDisable(GL_FOG); |
nuclear@4 | 26 glDisable(GL_CULL_FACE); |
nuclear@4 | 27 |
nuclear@4 | 28 glMatrixMode(GL_MODELVIEW); |
nuclear@4 | 29 glLoadIdentity(); |
nuclear@4 | 30 glMatrixMode(GL_PROJECTION); |
nuclear@4 | 31 glLoadIdentity(); |
nuclear@4 | 32 |
nuclear@4 | 33 glBegin(GL_QUADS); |
nuclear@4 | 34 glTexCoord2f(u, v); |
nuclear@4 | 35 glVertex2f(-1, -1); |
nuclear@4 | 36 glTexCoord2f((u + maxu) / 2, v); |
nuclear@4 | 37 glVertex2f(1, -1); |
nuclear@4 | 38 glTexCoord2f((u + maxu) / 2, maxv); |
nuclear@4 | 39 glVertex2f(1, 1); |
nuclear@4 | 40 glTexCoord2f(u, maxv); |
nuclear@4 | 41 glVertex2f(-1, 1); |
nuclear@4 | 42 glEnd(); |
nuclear@4 | 43 |
nuclear@4 | 44 glPopMatrix(); |
nuclear@4 | 45 glMatrixMode(GL_MODELVIEW); |
nuclear@4 | 46 glPopMatrix(); |
nuclear@4 | 47 |
nuclear@4 | 48 glPopAttrib(); |
nuclear@4 | 49 } |
nuclear@4 | 50 |
nuclear@4 | 51 struct vr_module *vr_module_null(void) |
nuclear@4 | 52 { |
nuclear@4 | 53 static struct vr_module m; |
nuclear@4 | 54 |
nuclear@4 | 55 if(!m.init) { |
nuclear@4 | 56 m.name = "null"; |
nuclear@4 | 57 m.init = init; |
nuclear@4 | 58 m.draw = draw; |
nuclear@4 | 59 } |
nuclear@4 | 60 return &m; |
nuclear@4 | 61 } |