void display() { //Clear buffers and setup for drawing glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); //Setup Camera //gluLookAt(-15,-15,10, 0,0,0,0,0,1); //Rotate glRotatef(g_vLandRotate[0],1.0,0.0,0.0); glRotatef(g_vLandRotate[1],0.0,1.0,0.0); glRotatef(g_vLandRotate[2],0.0,0.0,1.0); //Scale glScalef(g_vLandScale[0],g_vLandScale[1],g_vLandScale[2]); //Translate glTranslatef(g_vLandTranslate[0],g_vLandTranslate[1],g_vLandTranslate[2]); rideCamera(); //Draw after this renderSkybox(); renderGround(); //renderSplines(); renderRails(); //Swap buffer since double buffering glutSwapBuffers(); }
void Scenario::render() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); renderGround(); renderLines(); renderGoal(); }
void display() { // This function is called whenever it is time to render // a new frame; due to the idle()-function below, this // function will get called several times per second // Clear framebuffer & zbuffer glClearColor(0.3, 0, 0, 1); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Set current material glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess); glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuseColor); glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specularColor); // Place camera and light glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(100,50,50, 0, 0, 0, 0, 1, 0); // No manual control but better place from the start glLoadMatrixd(getCameraMatrix()); glLightfv(GL_LIGHT0, GL_POSITION, light_position); // After camera matrix - camera independent! // Render the scene! renderGround(); renderTerrain(); // Swap front- and backbuffers glutSwapBuffers(); }
void UINodeBackgroundScene::renderFailedWaterHeight (int x, int y) const { renderCave(x, y); renderGround(x, y); renderFailedCenter(x, y, MapFailedReasons::FAILED_WATER_HEIGHT); renderWater(x, y); }
/***** DISPLAY FUNCTION *****/ void display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); glShadeModel(GL_SMOOTH); glLoadIdentity(); if (animate) { animateRide(); } /* camera view */ gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ); /* Camera Speed - extra credit - realistic in terms of gravity u_new = u_current + (delta(t)) * sq(2g(h_max - h))/||dp/du|| h_max = max height anywhere on the rollercoaster + a tiny bit h = current height p = position. | dp/du | = length of position kinetic energy + potential energy = constant */ renderSky(); renderGround(); renderSpline(); /* needed for double buffering*/ glutSwapBuffers(); }
void UINodeBackgroundScene::renderFailedOnGround (int x, int y, const MapFailedReason& reason, float offsetY) const { renderCave(x, y); const int groundY = renderGround(x, y); FailedMap::const_iterator i = _failed.find(&reason); if (i == _failed.end()) return; const TexturePtr& t = i->second; if (!t || !t->isValid()) return; const int playerX = x + getRenderCenterX() - t->getWidth() / 2; const int playerY = groundY - t->getHeight() + offsetY * t->getHeight(); renderImage(t, playerX, playerY); }
void ShadowView::paintGL() { // setup the view matrix setupUserViewProj(); // enable Texturing glEnable(GL_TEXTURE_2D); // Clear Buffer for new frame glClearColor(0.0f ,0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // render Background renderBackground(); // // render the sun // renderSun(); // Modelview Transformation glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef( 0.0f, 0.0f, g_fCameraZoom); // Zoom glRotatef(g_fCameraElevation, 1.0f, 0.0f, 0.0f); // rotate elevation glRotatef(g_fCameraAzimuth, 0.0f, 1.0f, 0.0f); // rotate azimuth //glTranslatef( 0.0f, -g_fGroundLevel, 0.0f); // Lower the whole scene so that the center of the Mesh overlappes with the center of rotation std::cout << g_fCameraZoom << " \t" << g_fCameraElevation << " \t" << g_fCameraAzimuth << std::endl; std::cout.flush(); renderGround(); if( !m_mesh.expired() ) { // enable sceneRendering Shader //sceneRendering.enable(); // setup shader parameters // TODO not elegant! try to do with uniform variabiles //glColor4f(g_fSceneRenderingMode/4.0f, 0.0f, 0.0f, 0.0f); // render the scene //m_mesh.lock()->draw(); //sceneRendering.disable(); } }