/* * r_init * Perform any one-time GL state changes. */ static void r_init() { lost = 0; won = 0; hit = 0; randx = rand()%21-10; randz = rand()%21-10; size = size/2; int myGLTexture, myTexWidth, myTexHeight, myTexBPP; glEnable(GL_DEPTH_TEST); // glEnable(GL_CULL_FACE); //NEW TEXTURE STUFF glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //You might want to play with changing the modes //glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); // renderer_img_loadTGA("buttons.tga", // &textureButtons, &myTexWidth, &myTexHeight, &myTexBPP); renderer_img_loadTGA("brick.tga", &textureBrick, &myTexWidth, &myTexHeight, &myTexBPP); renderer_img_loadTGA("Starfield.tga", &textureStars, &myTexWidth, &myTexHeight, &myTexBPP); renderer_img_loadTGA("lava01.tga", &textureLava, &myTexWidth, &myTexHeight, &myTexBPP); // renderer_model_loadASE("submarine.ASE", efalse); renderer_model_loadASE("volcano.ASE", efalse); switch(points) { case 0: renderer_img_loadTGA("score0.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; case 1: renderer_img_loadTGA("score1.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; case 2: renderer_img_loadTGA("score2.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; case 3: renderer_img_loadTGA("score3.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; case 4: renderer_img_loadTGA("score4.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; case 5: renderer_img_loadTGA("score5.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; case 6: renderer_img_loadTGA("score6.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; case 7: renderer_img_loadTGA("score7.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; case 8: renderer_img_loadTGA("score8.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; case 9: renderer_img_loadTGA("score9.tga", &textureScore, &myTexWidth, &myTexHeight, &myTexBPP); break; } camera_init(); r_setupProjection(); }
/* * r_init * Perform any one-time GL state changes. */ static void r_init() { glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); //NEW TEXTURE STUFF glEnable(GL_TEXTURE_2D); //You might want to play with changing the modes glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); //These functions load my custom textures. //r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/uparrow.tga", // &myGLTexture, &myTexWidth, &myTexHeight, &myTexBPP); //Testing //"C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face1.tga" face1data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face1.tga", &face1, &face1Width, &face1Height, &face1BPP, &face1Type); face2data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face2.tga", &face2, &face2Width, &face2Height, &face2BPP, &face2Type); face3data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face3.tga", &face3, &face3Width, &face3Height, &face3BPP, &face3Type); face4data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face4.tga", &face4, &face4Width, &face4Height, &face4BPP, &face4Type); face5data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face5.tga", &face5, &face5Width, &face5Height, &face5BPP, &face5Type); face6data = r_image_loadTGA("C:/Users/Cory/workspace/FunWithSDL/Debug/textures/face6.tga", &face6, &face6Width, &face6Height, &face6BPP, &face6Type); //***************************************************************************** glGenTextures(1, &face1); glBindTexture(GL_TEXTURE_2D, face1); //Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use //mipmaps... without these calls texturing will not work properly. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); //Upload image data to OpenGL glTexImage2D(GL_TEXTURE_2D, 0, face1Type, face1Width, face1Height, 0, face1Type, GL_UNSIGNED_BYTE, face1data); //***************************************************************************** glGenTextures(1, &face2); glBindTexture(GL_TEXTURE_2D, face2); //Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use //mipmaps... without these calls texturing will not work properly. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); //Upload image data to OpenGL glTexImage2D(GL_TEXTURE_2D, 0, face2Type, face2Width, face2Height, 0, face2Type, GL_UNSIGNED_BYTE, face2data); //************************************************************************* glGenTextures(1, &face3); glBindTexture(GL_TEXTURE_2D, face3); //Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use //mipmaps... without these calls texturing will not work properly. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); //Upload image data to OpenGL glTexImage2D(GL_TEXTURE_2D, 0, face3Type, face3Width, face3Height, 0, face3Type, GL_UNSIGNED_BYTE, face3data); //************************************************************************* glGenTextures(1, &face4); glBindTexture(GL_TEXTURE_2D, face4); //Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use //mipmaps... without these calls texturing will not work properly. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); //Upload image data to OpenGL glTexImage2D(GL_TEXTURE_2D, 0, face4Type, face4Width, face4Height, 0, face4Type, GL_UNSIGNED_BYTE, face4data); //************************************************************************* glGenTextures(1, &face5); glBindTexture(GL_TEXTURE_2D, face5); //Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use //mipmaps... without these calls texturing will not work properly. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); //Upload image data to OpenGL glTexImage2D(GL_TEXTURE_2D, 0, face5Type, face5Width, face5Height, 0, face5Type, GL_UNSIGNED_BYTE, face5data); //************************************************************************* glGenTextures(1, &face6); glBindTexture(GL_TEXTURE_2D, face6); //Default OpenGL settings have GL_TEXTURE_MAG/MIN_FILTER set to use //mipmaps... without these calls texturing will not work properly. glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); //Upload image data to OpenGL glTexImage2D(GL_TEXTURE_2D, 0, face6Type, face6Width, face6Height, 0, face6Type, GL_UNSIGNED_BYTE, face6data); camera_init(); r_setupProjection(); r_loadGameMeshes(); }