intravenous
annotate src/cockpit.cc @ 3:94d4c60af435
some progress
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 22 Apr 2012 03:35:18 +0300 |
parents | |
children | c6a6a64df6de |
rev | line source |
---|---|
nuclear@3 | 1 #include "opengl.h" |
nuclear@3 | 2 #include "cockpit.h" |
nuclear@3 | 3 #include "tex.h" |
nuclear@3 | 4 |
nuclear@3 | 5 static unsigned int tex; |
nuclear@3 | 6 |
nuclear@3 | 7 bool cockpit_init() |
nuclear@3 | 8 { |
nuclear@3 | 9 if(!(tex = load_texture("data/cockpit.png"))) { |
nuclear@3 | 10 return false; |
nuclear@3 | 11 } |
nuclear@3 | 12 return true; |
nuclear@3 | 13 } |
nuclear@3 | 14 |
nuclear@3 | 15 void cockpit_destroy() |
nuclear@3 | 16 { |
nuclear@3 | 17 free_texture(tex); |
nuclear@3 | 18 } |
nuclear@3 | 19 |
nuclear@3 | 20 void cockpit_draw() |
nuclear@3 | 21 { |
nuclear@3 | 22 glPushAttrib(GL_ENABLE_BIT); |
nuclear@3 | 23 glDisable(GL_LIGHTING); |
nuclear@3 | 24 |
nuclear@3 | 25 glEnable(GL_BLEND); |
nuclear@3 | 26 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
nuclear@3 | 27 |
nuclear@3 | 28 bind_texture(tex); |
nuclear@3 | 29 |
nuclear@3 | 30 glMatrixMode(GL_MODELVIEW); |
nuclear@3 | 31 glPushMatrix(); |
nuclear@3 | 32 glLoadIdentity(); |
nuclear@3 | 33 glMatrixMode(GL_PROJECTION); |
nuclear@3 | 34 glPushMatrix(); |
nuclear@3 | 35 glLoadIdentity(); |
nuclear@3 | 36 |
nuclear@3 | 37 glBegin(GL_QUADS); |
nuclear@3 | 38 glColor3f(1, 1, 1); |
nuclear@3 | 39 glTexCoord2f(0, 1); glVertex2f(-1, -1); |
nuclear@3 | 40 glTexCoord2f(1, 1); glVertex2f(1, -1); |
nuclear@3 | 41 glTexCoord2f(1, 0); glVertex2f(1, 1); |
nuclear@3 | 42 glTexCoord2f(0, 0); glVertex2f(-1, 1); |
nuclear@3 | 43 glEnd(); |
nuclear@3 | 44 |
nuclear@3 | 45 glPopMatrix(); |
nuclear@3 | 46 glMatrixMode(GL_MODELVIEW); |
nuclear@3 | 47 glPopMatrix(); |
nuclear@3 | 48 |
nuclear@3 | 49 bind_texture(0); |
nuclear@3 | 50 |
nuclear@3 | 51 glPopAttrib(); |
nuclear@3 | 52 } |