#include #include #include #include #include #include LEVEL level; GLuint sphere; GLuint meditex_blue; LIGHT light = {LIGHT_POINT, {1.0, 1.0, 1.0}, {0.0, 0.0, 0.0}}; extern TEXLIST *texlist; int InitGame() { //GLfloat mat_ambient_and_diffuse[] = { 0.5, 0.5, 0.5, 1.0}; glViewport(0, 0, 640, 480); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(50.0, 640.0/480.0, 0.1, 1000.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glShadeModel(GL_SMOOTH); glClearColor(0.0, 0.0, 0.0, 0.0); glClearDepth(1.0); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); glEnable(GL_CULL_FACE); glFrontFace(GL_CCW); //glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient_and_diffuse); glDisable(GL_LIGHTING); //glEnable(GL_LIGHT0); meditex_blue = LoadTexture("medib.tex"); glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, LoadTexture("lightmap.tex")); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); glActiveTexture(GL_TEXTURE1); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); GLUquadricObj *quadric = gluNewQuadric(); gluQuadricDrawStyle(quadric, GLU_FILL); gluQuadricTexture(quadric, GL_TRUE); LoadLevel("level2.lvl", &level); sphere = glGenLists(1); glNewList(sphere, GL_COMPILE); glRotatef(90, 1.0, 0.0, 0.0); gluSphere(quadric, 1.0, 24, 24); glEndList(); gluDeleteQuadric(quadric); return 1; } void UninitGame() { FreeLevel(&level); free(texlist); }