Exemple #1
0
void update()
{

    glm::vec3 tempPlayerOne = glm::vec3(objectsDataList.getModelMatrix(1)[3][0], objectsDataList.getModelMatrix(1)[3][1], objectsDataList.getModelMatrix(1)[3][2]);

    //glm::vec3 tempPlayerTwo = glm::vec3(objectsDataList.getModelMatrix(2)[3][0], objectsDataList.getModelMatrix(2)[3][1], objectsDataList.getModelMatrix(2)[3][2]);

    //glm::vec3 puckLoc = glm::vec3(objectsDataList.getModelMatrix(3)[3][0], objectsDataList.getModelMatrix(3)[3][1], objectsDataList.getModelMatrix(3)[3][2]);

    //cout << "Makes it to update!" << endl;
    float dt = getDT();
    int counter; 

    // pass dt to all objects and let them update themselves based on their
    // current flags/status
    if(!pauseBool)
    {
        dynamicsWorld->setGravity(btVector3(gravityX, -10, gravityZ)); 
        dynamicsWorld->stepSimulation(dt, 10.0f);

        for (counter = 0; counter < globalObjCount; counter++)
        {
            objectsDataList.updateObject(counter);
        }
    }

    switch(viewNum)
        {
            case 0:
                 view = glm::lookAt( glm::vec3(camX, camY, camZ), //Eye Position
                                glm::vec3(0, 0.0, 0.0), //Focus point
                                glm::vec3(0.0, 0.0, 1.0)); //Positive Y is up
                break;

            case 1:
                view = glm::lookAt( glm::vec3(tempPlayerOne.x + camX + offsetX, 30.0 + offsetY, tempPlayerOne.z + camZ + offsetZ), //Eye Position
                        glm::vec3(tempPlayerOne.x + offsetX, tempPlayerOne.y + offsetY, tempPlayerOne.z + offsetZ), //Focus point
                        glm::vec3(0.0, 0.0, 1.0)); //Positive Y is up
                break;

            case 2:
                //view = glm::lookAt( glm::vec3(tempPlayerTwo.x, 40.0, tempPlayerTwo.z), //Eye Position
                        //glm::vec3(tempPlayerTwo.x, tempPlayerTwo.y, tempPlayerTwo.z), //Focus point
                        //glm::vec3(0.0, 0.0, 1.0)); //Positive Y is up
                break;

        }

    //checkGoal();
   
    // Update the state of the scene
    glutPostRedisplay();//call the display callback    
}
Exemple #2
0
//--Implementations
void render()
{
    int counter;
    //clear the screen
    glClearColor(1.0, 1.0, 1.0, 1.0); 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    //enable the shader program
    glUseProgram(program);

    glUniform1f(loc_lightType, lightTypeVal);
    glUniform1f(loc_lightType2, lightTypeVal2);


    for(counter = 0; counter < globalObjCount; counter++)
    {
        //matrix MVP for planet    
        mvp = projection * view * objectsDataList.getModelMatrix(counter);

        // load each objects mvp
        renderObject( mvp, counter );
    }

    score();                      
  
    //Render Text
    string playerOneStr = "Player One Score:" + numToStr(scoreOne);
    string elapsedTime = "Elapsed Time:" + numToStr(elapsedDT());

    glColor3d(0.0, 0.0, 0.0);
    glMatrixMode(GL_PROJECTION);
    //glPushMatrix();
    glLoadIdentity();
    gluOrtho2D(0, w, 0, h);
    glScalef(1, -1, 1);
    glTranslatef(0, -h, 0);
    //glMatrixMode(GL_MODELVIEW);
    //glLoadIdentity();
    renderBitmapString(30,40,(void *)GLUT_BITMAP_HELVETICA_18,playerOneStr);
    glColor3d(0.0, 0.0, 0.0);
    renderBitmapString(30,60,(void *)GLUT_BITMAP_HELVETICA_18,elapsedTime);
    glPushMatrix();
    //glMatrixMode(GL_PROJECTION);
    glPopMatrix();
    glMatrixMode(GL_MODELVIEW);
       

    //clean up
    glDisableVertexAttribArray(loc_position);
    glDisableVertexAttribArray(loc_uv);
    glDisableVertexAttribArray(loc_normal);

    //enable depth testing
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LESS);

    //swap the buffers
    glutSwapBuffers();
}
Exemple #3
0
//--Implementations
void render()
{
    //cout << "Makes it to Render!" << endl;
    int counter;
    //clear the screen
    glClearColor(0.2, 0.2, 0.2, 1.0); 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    //enable the shader program
    glUseProgram(program);


    for(counter = 0; counter < globalObjCount; counter++)
    {
        //matrix MVP for planet    
        mvp = projection * view * objectsDataList.getModelMatrix(counter);

        // load each objects mvp
        renderObject( mvp, counter );
    }
                           
    //swap the buffers
    glutSwapBuffers();
}