void drawWorld(void) { mvstack.push(model_view); drawDesert(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate (0, 6 , -30); model_view *= RotateY(180); drawBench(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate (25, 4, -30); drawTree(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Scale(.9, .9, .9); model_view *= Translate (-25, 4, -30); drawTree(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Scale(1, 2, 1); model_view *= Translate (25, 4, 30); drawTree(); model_view = mvstack.pop(); //house mvstack.push(model_view); model_view *= Translate(-40, 10, 0); model_view *= RotateY(90); drawHouse(); model_view = mvstack.pop(); //moon mvstack.push(model_view); set_colour(.9, .9, .8); model_view *= Translate (-70, 75, 200); model_view *= Scale(30, 30, 30); drawSphere(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(160,100, 0); model_view *= Scale (150, 200, 250); drawStone(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(-160,100, 0); model_view *= Scale (150, 200, 250); drawStone(); model_view = mvstack.pop(); if (TIME >= 7 && TIME < 8) { mvstack.push(model_view); model_view *= Translate (0, 10, -20); model_view *= Scale(1.2, 1.6, 1.2); model_view *= Translate (0, 66.5- TIME*9.5, -35 + TIME*5); model_view *= RotateX((180*7)-TIME*180); drawBanana1(); model_view = mvstack.pop(); } else if (TIME >= 8) { mvstack.push(model_view); model_view *= Translate (0, 0.5, -16.8); model_view *= Scale (1.2, 1.6, 1.2); model_view *= RotateX(180); drawBanana1(); model_view = mvstack.pop(); } }
void drawScene(void) { mvstack.push(model_view); drawHcube(); drawLoveHeart(); model_view = mvstack.pop(); // Draw Ground mvstack.push(model_view); set_colour(0.5,1,0.5); model_view *= Translate(0.0f, -4.75f, 0.0f); model_view *= Scale(100.0f, 1.0f, 100.0f); drawCube(); model_view = mvstack.pop(); //Draw Tree mvstack.push(model_view); model_view *= Translate(5.0f, -4.75f, -5.0f); drawPineTree(); model_view = mvstack.pop(); // Draw Grass mvstack.push(model_view); model_view *= Translate(10.0f, -4.0f, 0.0f); drawGrass(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(12.0f, -4.0f, 3.0f); drawGrass(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(-11.0f, -4.0f, 4.0f); drawGrass(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(-9.0f, -4.0f, -2.0f); drawGrass(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(-4.0f, -4.0f, 5.0f); drawGrass(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(-3.0f, -4.0f, 9.0f); drawGrass(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(-5.0f, -4.0f, -15.0f); drawGrass(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(6.0f, -4.0f, -14.0f); drawGrass(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(7.0f, -4.0f, -25.0f); drawGrass(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(-8.0f, -4.0f, -18.0f); drawGrass(); model_view = mvstack.pop(); // Draw Walls mvstack.push(model_view); set_colour(0.9,0.9,1); mvstack.push(model_view); model_view *= RotateX(90); model_view *= RotateY(90); model_view *= Translate(20.0f, -50.0f, 0.0f); model_view *= Scale(50.0f, 1.0f, 100.0f); drawWall(); model_view *= Translate(0.0f, 100.0f, 0.0f); drawWall(); model_view = mvstack.pop(); mvstack.push(model_view); model_view *= Translate(50.0f, 20.0f, 0.0f); model_view *= Scale(1.0f, 50.0f, 100.0f); drawWall(); model_view *= Translate(-100.0f, 0.0f, 0.0f); drawWall(); model_view = mvstack.pop(); model_view = mvstack.pop(); // Draw Bench mvstack.push(model_view); model_view *= Translate(0.0f, -2.0f, 0.0f); drawBench(); model_view = mvstack.pop(); }