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 }