Exemplo n.º 1
0
/* 
 * The rountine display() gets called each time the window is redrawn.
 */
void display()
{
	glClear(GL_COLOR_BUFFER_BIT);
	
	switch(shapeType)
	{
	case S_TRIANGLE:
		drawTriangle(-100,0,0,250,100,0);
		break;
	case S_RECTANGLE:
		drawRectangle(0,0,500,500);
		break;
	case S_CIRCLE:
		drawCircle(0,0,250,40,2,0);
		break;
	case S_SMILEY:
		drawSmileyFace(0,0,250);
		break;
	case S_PACMAN:
		drawPacMan(0,0,250);
		break;
	default:
		break;
	}
	
	glutSwapBuffers();
}
Exemplo n.º 2
0
// Définit le modèle pour affichage à l'écran
void View::display(void)
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Initialisation du buffer de couleur à la couleur de fond


	// Viewport contenant les informations sur la partie en cours
	viewportInfos();
	if(model->getLifes() < 0) {
		model->stopGame();
		gameOver();
	}
	else {
		drawScore();
		drawLifes();
	}

	// Viewport contenant les contrôles souris (boutons)
	viewportControls();
	drawMouseControls();
	drawButton("Reset",100);
	drawButton("Close",150);
	drawButton("View", 200);



	// Viewport contenant le plateau de jeu
	glEnable(GL_DEPTH_TEST);

	initLights();

	viewportWorld(); // Définit une viewport et ses caractéristiques de projection
	drawWorld();
	drawPills();
	drawPacMan();
	drawGhosts();

	glDisable(GL_LIGHT0);
	glDisable(GL_LIGHT1);
	glDisable(GL_LIGHT2);
	glDisable(GL_LIGHT3);
	glDisable(GL_LIGHTING);	// nuit !
	glDisable(GL_DEPTH_TEST);


	glutSwapBuffers(); // Car on travaille en mode "double buffer", cf. main.cpp
}