Ejemplo n.º 1
0
void SetupRC()
{
    
    SpriteManager *sprites = SpriteManager::instance();
    
    Vector p(0.0f,0.0f,-1.0f);
    player = new Player("resources/Models/cube.ogl", p);
    
    sprites->AddSprite( player);
    
    std::string filename="resources/Models/cube.ogl";
    test = new Model(filename);
    
    /*
    Vector v((GLfloat)(0), (GLfloat)(0), (GLfloat) (5) );
    sprites->AddSprite( new Sprite("resources/Models/cube.ogl", v) );
    */
    for (int i=0; i<30; i++) {
        
        Vector v((GLfloat)(0), (GLfloat)(i *3 ), (GLfloat) (10) );
        
        sprites->AddSprite(  new Sprite("resources/Models/cube.ogl", v, i*8, i*2, i*5) );
        
    }
    
	glEnable(GL_DEPTH_TEST);
	glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
	
	glClearColor(0.0f, 0.0f, 0.0f, 1.0f );
    
    shader.vertexShader = makeShader( GL_VERTEX_SHADER, "resources/Shaders/identity.vs");
    if(shader.vertexShader == 0){
        printf("failed to make vertex shader");
        exit(0);
    }
    
    shader.fragmentShader = makeShader(GL_FRAGMENT_SHADER, "resources/Shaders/identity.fs");
    if(shader.fragmentShader == 0){
        printf("failed to make fragment shader");
        exit(0);
    }

    shader.program = makeProgram(shader.vertexShader, shader.fragmentShader);
    if(shader.program == 0){
        printf("failed to make program");
        exit(0);
    }
    
    shader.uniforms.colour = glGetUniformLocation( shader.program, "colour");
    
    if( shader.uniforms.colour == -1){
        printf( "failed to locate uniform colour location");
        exit(0);
	}
    
    shader.uniforms.modelViewProjectionMatrix = glGetUniformLocation(shader.program, "modelViewProjectionMatrix");
    
    if( shader.uniforms.modelViewProjectionMatrix == -1){
        printf("failed to locate uniform modelViewProjectionMatrix");
        exit(0);
    }
    
    
    shader.attributes.pos = glGetAttribLocation( shader.program, "position");
    

}