Пример #1
0
void init(void)
{
  forward = SetVector(1,1,1);
  // GL inits
  glClearColor(0.2,0.2,0.5,0);
   glEnable(GL_DEPTH_TEST);
  glDisable(GL_CULL_FACE);
  glCullFace(GL_BACK);
  printError("GL inits");

  projectionMatrix = frustum(-0.1, 0.1, -0.1, 0.1, 0.2, 500.0);

  // Load and compile shader
  
  programSky = loadShaders("sky.vert", "sky.frag");
  skybox = LoadModelPlus("skybox.obj");
  program = loadShaders("terrain.vert", "terrain.frag");
  //goal = LoadModelPlus("cube.obj"); // If I put this here the walls get darker
  
  printError("init shader");
	
  
  glUseProgram(programSky);
  glActiveTexture(GL_TEXTURE2);	 
  glUniform1i(glGetUniformLocation(programSky, "tex"),2); // Texture unit 1
  glBindTexture(GL_TEXTURE_2D, myTex);
  LoadTGATextureSimple("SkyBox512.tga", &myTex); 

	  glActiveTexture(GL_TEXTURE3);	 
  glUniform1i(glGetUniformLocation(program, "tex"),3); // Texture unit 1
  glBindTexture(GL_TEXTURE_2D, tex3);
  LoadTGATextureSimple("gold.tga", &tex3);

  glUseProgram(program);
  glActiveTexture(GL_TEXTURE0);	
  glUniformMatrix4fv(glGetUniformLocation(program, "projMatrix"), 1, GL_TRUE, projectionMatrix.m);
  glUniform1i(glGetUniformLocation(program, "tex"),0); // Texture unit 1
  glBindTexture(GL_TEXTURE_2D, tex1);
  LoadTGATextureSimple("maskros512.tga", &tex1);

  glActiveTexture(GL_TEXTURE1);	 
  glUniform1i(glGetUniformLocation(program, "tex"),1); // Texture unit 1
  glBindTexture(GL_TEXTURE_2D, tex2);
  LoadTGATextureSimple("dirt.tga", &tex2);
  // Load terrain data
	

  
  LoadTGATextureData("MazeWall.tga", &ttexm);
  LoadTGATextureData("fft-terrain.tga", &ttex);
  tm = GenerateMazeTerrain(&ttexm,&ttex,vertexArray);
  mm = GenerateTerrain(&ttex,vertexArray);
  goal = LoadModelPlus("groundsphere.obj"); // The walls do not get darker
  printError("init terrain");


	sfMakeRasterFont(); // init font
	sfSetRasterSize(600, 200);
}
Пример #2
0
int main(int argc, char **argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
//	glutInitWindowPosition(40,50);
	glutInitWindowSize(600,200);
	glutInitContextVersion(3, 2);
	glutCreateWindow("simplefont demo");
	glutDisplayFunc(display);
	glutReshapeFunc(reshape);
	glutKeyboardFunc(keyboard);
	
	sfMakeRasterFont(); // init font
	sfSetRasterSize(600, 200);
	
	glutMainLoop();
}
Пример #3
0
int main(int argc, char **argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
	glutInitWindowSize(600,400);
	glutInitContextVersion(3, 2);
	glutCreateWindow("mip mapping demo + -");
	glutDisplayFunc(display);
	glutTimerFunc(20, timer, 0);
	glutReshapeFunc(reshape);
	glutKeyboardFunc(keyboard);
		
	init(); // Load cube
	
	sfMakeRasterFont(); // init font
		
	glutMainLoop();
}
Пример #4
0
void init(void)
{
    
    printf("i1 \n");
    sfMakeRasterFont();
    
    sphere = LoadModelPlus("./OBJ/groundsphere.obj");
    
    camera = lookAt(0.0,2.0,-8.0,
                    0.0,0.0,0.0,
                    0.0,1.0,0.0);
    srand (time(NULL));
    
    skytot = T(0.0,0.0,0.0);
    lavatot = Mult(T(0,-1, 0), S(20, 0, 20));
    
    // GL inits
    glClearColor(0.2,0.2,0.5,0);
    glEnable(GL_DEPTH_TEST);
    glDisable(GL_CULL_FACE);
    printError("GL inits");
    
    projectionMatrix = frustum(-0.1, 0.1, -0.1, 0.1, 0.2, 100.0);
    
    printf("i2 \n");
    // Load and compile shader
    program = loadShaders("./Shader/terrain.vert", "./Shader/terrain.frag");
    skyprogram = loadShaders("./Shader/sky.vert", "./Shader/sky.frag");
    glUseProgram(program);
    printError("init shader");
    
    glUniformMatrix4fv(glGetUniformLocation(program, "projMatrix"), 1, GL_TRUE, projectionMatrix.m);
    glUniform1i(glGetUniformLocation(program, "tex"), 0); // Texture unit 0
    LoadTGATextureSimple("./TGA/lavaroad.tga", &tex1);
    LoadTGATextureSimple("./TGA/conc.tga", &tex2);
    

    printf("i3 \n");
    // Load terrain data
    InitTerrain();
    
    LoadTGATextureData("./TGA/fft-terrain.tga", &ttex);
    printError("init terrain");
    
    //Body
    LoadTGATextureSimple("./TGA/tex_01_lfy_weapon1out.tga", &tex_head);
    LoadTGATextureSimple("./TGA/red.tga", &tex_body);
    
    LegR = LoadModelPlus("./OBJ/LegR.obj");//Load Right Leg
    LegL = LoadModelPlus("./OBJ/LegL.obj");//Load Left Leg
    Body = LoadModelPlus("./OBJ/groundsphere.obj"); //Load Body & head
    ArmR = LoadModelPlus("./OBJ/armr.obj");//Load Right Arm
    ArmL = LoadModelPlus("./OBJ/arml.obj");//Load Right Arm
    printf("i4 \n");
    //boost & Obst
    LoadTGATextureSimple("./TGA/red.tga", &startex);
    LoadTGATextureSimple("./TGA/speed.tga", &speedtex);
    LoadTGATextureSimple("./TGA/imortal.tga", &imortaltex);
    //LoadTGATextureSimple("./TGA/spike.tga", &gatetex);
    LoadTGATextureSimple("./TGA/dirt.tga", &gatetex); //NY ANDREAS

    Star = LoadModelPlus("./OBJ/groundsphere.obj");//extra points
    SpeedObj = LoadModelPlus("./OBJ/groundsphere.obj");//speed
    Imortal = LoadModelPlus("./OBJ/groundsphere.obj");//speed

    //Gate = LoadModelPlus("./OBJ/spike.obj");//gate
    Gate = LoadModelPlus("./OBJ/gatecube.obj");//gate //NY ANDREREAS

    
    
    // Lava Ground
    Lava = LoadModelPlus("./OBJ/ground.obj");//load ground aka lava
    LoadTGATextureSimple("./TGA/lava.tga", &lavatex); //load the lava texture
    
    //Sky
    skybox = LoadModelPlus("./OBJ/cubeplus.obj");//Load skybox
    glUseProgram(skyprogram);
    glUniformMatrix4fv(glGetUniformLocation(skyprogram, "projMatrix"), 1, GL_TRUE, projectionMatrix.m);
    LoadTGATextureSimple("./TGA/skybox2.tga", &skytex); 	// Texture unit 1
    glUseProgram(program);
    
}