Compteur d'image par seconde (OpenGL)

salut à tous

Alors voilà je débute dans la programmation en C. J’avais déjà quelque bonne bases en C# mais je me rend compte que c’est bien different.

J’ai commencé ce langage car je suis en ce moment en train de réaliser un petit projet ( une pièce ou l’on peu se déplacer ) en OpenGL. Je précise que je suis sous Ubuntu 8.04 pour ce projet…linux m’est imposé (projet scolaire). J’utilise la biblotheque GLUT.

Pourriez vous m’aider à faire un compteur d’image par seconde ?? Je voudrai qu’il s’affiche en haut à droite de l’écran…

Je n’ai aucune idée de comment le faire c’est pour ça que je fais appelle à vous !!!

Merci d’avance

Amicalement Mister-Toto

Cadeau : www.lighthouse3d.com…

C’est en anglais, mais ça devrait t’expliquer ce qu’il faut faire

nehe.gamedev.net…

Ca ne montre pas spécifiquement comment calculer les fps mais tout se passe dans la méthode Draw : c’est simple, tu as deux compteurs, un courant et un précédent et un compteur de trame (incrémenté dans la méthode de rendu), si compteur courant - précédant >= 1000, c’est bon, on affiche le nombre de trame incrémentée pis on le reset.
L’avantage de procéder ainsi, c’est que tu n’as pas besoin de GLUT :wink:

merci beaucoup mais j’ai toujours un problème…

Il me dit que j’ai une erreur (undefined …)


                     frame++;
	time=glutGet(GLUT_ELAPSED_TIME);
	if (time - timebase > 1000) {
		sprintf(s,"FPS:%4.2f",
			frame*1000.0/(time-timebase));
		timebase = time;		
		frame = 0;
	}

	glColor3f(0.0f,1.0f,1.0f);
	glPushMatrix();
	glLoadIdentity();
	setOrthographicProjection();
	[i]renderBitmapString(30,35,(void *)font,s);[/i]
	glPopMatrix();
	resetPerspectiveProjection();


la ligne mis en italique me pose problème…En fait c’est du c++ si je me trompe pas et moi j’ai besoin d’un code en c alors si vous avez idée…

Merci d’avance

Bah euh, si tu copies/colles que l’appel de la fonction sans le code de la fonction (cf le lien de Sans-Nom), forcément, ça marche moins bien :ane:
Et sinon, si, tu te trompes, c’est du C et non du C++.

et c’est une honte d’utiliser sprintf. Faut utiliser snprintf ! :slight_smile: