//Functions as a sort of internal renderScene, add all drawing code for this object here void Player::Render() { gluLookAt(objCam.mPos.x, objCam.mPos.y, objCam.mPos.z, objCam.mView.x, objCam.mView.y, objCam.mView.z, objCam.mUp.x, objCam.mUp.y, objCam.mUp.z); glPushMatrix(); glTranslatef(objCam.mView.x,0.85f,objCam.mView.z); glRotatef(angle,0,1,0); // rotate around center glTranslatef(-objCam.mView.x, 0, -objCam.mView.z); //move object to center glTranslatef(objCam.mView.x,0,objCam.mView.z); glScaled(0.3,0.3,0.3); glBindTexture(GL_TEXTURE_2D, currentTexture); squishy->draw(); glPopMatrix(); glPushMatrix(); glTranslatef(objCam.mView.x,0.50f,objCam.mView.z); glRotatef(angle-165.0f,0,1,0); glTranslatef(inkDis*2, 0.0f, inkDis); glPushAttrib( GL_CURRENT_BIT ); glColor4f(0,0,0,0.9f); glutSolidSphere(0.2f, 15,15); glPopAttrib(); glPopMatrix(); glPushMatrix(); glTranslated(skybox, 0, skybox); Draw_Skybox(0,0,0,500, 15, 500); glPopMatrix(); }
void Display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH); setupLights(); setupCamera(); drawBanana(30,cameraY+90,0); if (coins >= 5) { win = true; //sound for winning } if (cinematic) rotateCamera(); glColor3f(1,1,1); Draw_Skybox(cameraX, cameraY, cameraZ, 400, 800, 400); if (Levels.size() > 0) { if (Levels[0].y <cameraY - 100) { printf("deleting level"); Levels.erase(Levels.begin()); // for (int j = 0; j<Levels.size() - 1; j++) { // Levels[j] = Levels[j + 1]; // } // Levels.pop_back(); if (Levels.size()>0) { Levels[0].levelBefore = NULL; } } } char result[10]; sprintf(result, "%i", coins); //std::string name = "Score: ", result; displayText(50, cameraY + 110, 0, 1, 1, 1, result); if (!lost&!win) { createScene(); character.drawCharacter(); //std::string name = "Score: "; // char numstr[2]; /// result = name + numstr; } else { if (lost) displayText(-20, cameraY + 100, 0, 1, 1, 1, "GAME OVER!"); if (win) displayText(-20, cameraY + 100, 0, 1, 1, 1, "YOU WON :)"); } glFlush(); }
void ofxSkyBox::draw() { glPixelStorei(GL_UNPACK_ALIGNMENT, 1); glEnable(GL_TEXTURE_CUBE_MAP_ARB); glDepthFunc(GL_LEQUAL); glEnable(GL_DEPTH_TEST); cubeshader.begin(); //glDisable(GL_DEPTH_TEST); glActiveTexture(GL_TEXTURE0); cubeMap.bind(); glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); cubeshader.setUniform1i("EnvMap", 0); glMatrixMode(GL_MODELVIEW); glPushMatrix(); Draw_Skybox(0, 0, 0, 100, 100, 100); cubeshader.end(); glDisable(GL_TEXTURE_CUBE_MAP_ARB); glDisable(GL_DEPTH_TEST); glPopMatrix(); }