begin process at 2012 05 29 17:04:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

OpenGL

 > 

probleme execution animation opengl


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme execution animation opengl

samedi 10 décembre 2011 à 20:42:12 | probleme execution animation opengl

profiter

bonsoir,
dans mon programme opengl c++, j'ai une voiture qui roule sur une route mais alors je la fais rouler d'un pas de 0.1 et au lieu qu'il roule d'une facon continu elle roule discret comme si elle fait des pas (surement c'est probleme de memoire ) puis elle reste de bouger apres un certain nombre de pas meme si la boucle est pour l'infini
je sais pas pourquoi
voila le code : je souhaite que vous me detectez le probleme :
Code C/C++ :
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <Windows.h>
#include <GL/glut.h>
#include "drawing_functions.h"
#include "SOIL.h"
//#include "glm.h"
//#include "drawmodel.h"
//#include "glm.c"


/* l'heure systeme

	SYSTEMTIME Time;
    
    GetLocalTime(&Time);
    
    printf("Nous sommes le : %02d/%02d/%04d.\n",
    Time.wDay, Time.wMonth, Time.wYear);
	
    printf("Et il est : %02dh %02dmn %02ds %03dms.\n",
    Time.wHour, Time.wMinute, Time.wSecond, Time.wMilliseconds);

*/
float yy = 1.8;
GLuint	texture[2];	
int LoadGLTextures()									// Load Bitmaps And Convert To Textures
{
	/* load an image file directly as a new OpenGL texture */
	texture[0] = SOIL_load_OGL_texture(	"facmodif.bmp",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[1] = SOIL_load_OGL_texture(	"vert2.bmp",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[2] = SOIL_load_OGL_texture(	"arriere.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[3] = SOIL_load_OGL_texture(	"couleur.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[4] = SOIL_load_OGL_texture(	"vitre.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[5] = SOIL_load_OGL_texture(	"parebrise.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[6] = SOIL_load_OGL_texture(	"terrain.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[7] = SOIL_load_OGL_texture(	"mur.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[8] = SOIL_load_OGL_texture(	"facade.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[9] = SOIL_load_OGL_texture(	"facade2.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[10] = SOIL_load_OGL_texture("zlij.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[11] = SOIL_load_OGL_texture("porte.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[12] = SOIL_load_OGL_texture("marbre.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[13] = SOIL_load_OGL_texture("trotoir1.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[14] = SOIL_load_OGL_texture("mur_deniere.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	texture[15] = SOIL_load_OGL_texture("sol.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);
	//if(texture[0] == 0)
		//return false;


	//Typical Texture Generation Using Data From The Bitmap
	//glBindTexture(GL_TEXTURE_2D, texture[0]);
	//glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
	//glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);

	return true;										// Return Success
}



static void key(unsigned char k, int x, int y)
{
  switch (k) {
  case 27:  //Echaper
    exit(0);
    break;
  default:
    return;
  }
  glutPostRedisplay();
}
void Dessiner()
{
	
	//for(;;){

		//yy = yy -0.1 ;
		
	/*
	*/
	glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
    glMatrixMode( GL_MODELVIEW );
    glLoadIdentity( );

    gluLookAt(5.5,6.5,7,0,0,0,0,0,1);
	
	//drawRectangle3D(1.15,1.15,0.1,1.55,1.15,0.1,1.55,7,0.1,1.15,7,0.1);
	LoadGLTextures();
	
	//glColor3ub(255,255,255);
	
	glBindTexture(GL_TEXTURE_2D, texture[6]);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);        
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
	glMatrixMode(GL_TEXTURE);
	glLoadIdentity();
	//glScalef(2,2,2);
	glEnable(GL_TEXTURE_2D);
	glColor3ub(0,255,0);
	glBegin(GL_QUADS);
		glTexCoord2i(0,0);	glVertex3d(1.55,1.55,0.1);
		glTexCoord2i(20,0);	glVertex3d(1.15,6,0);
		glTexCoord2i(20,20);	glVertex3d(6,6,0);
		glTexCoord2i(0,20);	glVertex3d(6,1.15,0);
	glEnd();

	glDisable(GL_TEXTURE_2D);
	glMatrixMode( GL_MODELVIEW );
    //glLoadIdentity( );

	glColor3ub(63,63,63);
	drawRectangle(1,6,-1,6,-1,-19,1,-19,0.01); // route horizontale
	drawRectangle(6,1,6,-1,-12,-1,-12,1,0.011); // route verticale
	glColor3f(1,1,1);
	drawRectangle(0.99,1.1,0.7,1.1,0.7,1.6,0.99,1.6,0.11);//les places des pietons de la route vers la droite 
	drawRectangle(0.64,1.1,0.4,1.1,0.4,1.6,0.64,1.6,0.11);
	drawRectangle(0.34,1.1,0.1,1.1,0.1,1.6,0.34,1.6,0.11);
	drawRectangle(0.04,1.1,-0.2,1.1,-0.2,1.6,0.04,1.6,0.11);
	drawRectangle(-0.26,1.1,-0.5,1.1,-0.5,1.6,-0.26,1.6,0.11);
	drawRectangle(-0.56,1.1,-0.84,1.1,-0.84,1.6,-0.56,1.6,0.11);

	drawRectangle(0.99,-1.1,0.7,-1.1,0.7,-1.6,0.99,-1.6,0.11);//les places des pietons de la route vers la gauche 
	drawRectangle(0.64,-1.1,0.4,-1.1,0.4,-1.6,0.64,-1.6,0.11);
	drawRectangle(0.34,-1.1,0.1,-1.1,0.1,-1.6,0.34,-1.6,0.11);
	drawRectangle(0.04,-1.1,-0.2,-1.1,-0.2,-1.6,0.04,-1.6,0.11);
	drawRectangle(-0.26,-1.1,-0.5,-1.1,-0.5,-1.6,-0.26,-1.6,0.11);
	drawRectangle(-0.56,-1.1,-0.84,-1.1,-0.84,-1.6,-0.56,-1.6,0.11);

	drawRectangle(-1.1,0.99,-1.1,0.7,-1.6,0.7,-1.6,0.99,0.11);//les places des pietons de la route vers la haut 
	drawRectangle(-1.1,0.64,-1.1,0.4,-1.6,0.4,-1.6,0.64,0.11);
	drawRectangle(-1.1,0.34,-1.1,0.1,-1.6,0.1,-1.6,0.34,0.11);
	drawRectangle(-1.1,0.04,-1.1,-0.2,-1.6,-0.2,-1.6,0.04,0.11);
	drawRectangle(-1.1,-0.26,-1.1,-0.5,-1.6,-0.5,-1.6,-0.26,0.11);
	drawRectangle(-1.1,-0.56,-1.1,-0.84,-1.6,-0.84,-1.6,-0.56,0.11);

	drawRectangle(1.1,0.99,1.1,0.7,1.6,0.7,1.6,0.99,0.11);//les places des pietons de la route vers la bas 
	drawRectangle(1.1,0.64,1.1,0.4,1.6,0.4,1.6,0.64,0.11);
	drawRectangle(1.1,0.34,1.1,0.1,1.6,0.1,1.6,0.34,0.11);
	drawRectangle(1.1,0.04,1.1,-0.2,1.6,-0.2,1.6,0.04,0.11);
	drawRectangle(1.1,-0.26,1.1,-0.5,1.6,-0.5,1.6,-0.26,0.11);
	drawRectangle(1.1,-0.56,1.1,-0.84,1.6,-0.84,1.6,-0.56,0.11);
	
	int j ;
	for(j=0;j<15;j++){
	drawRectangle(0.04,1.8+j,-0.04,1.8+j,-0.04,2.4+j,0.04,2.4+j,0.11);//les rectangles au milieu du route droite
	drawRectangle(0.04,-1.8-j,-0.04,-1.8-j,-0.04,-2.4-j,0.04,-2.4-j,0.11);//les rectangles au milieu du route gauche
	drawRectangle(1.8+j,0.04,1.8+j,-0.04,2.4+j,-0.04,2.4+j,0.04,0.11);//les rectangles au milieu du route bas
	drawRectangle(-1.8-j,0.04,-1.8-j,-0.04,-2.4-j,-0.04,-2.4-j,0.04,0.11);//les rectangles au milieu du route haut
	}
	
	float i,y=1;
	
	for(i = 1;i<25;i++){
	glColor3ub(255,0,0);
	drawRectangle3D(-1,y,0,-1,y+0.3,0,-1,y+0.3,0.1,-1,y,0.1);// les trotoires du route droite vers (haut) rouge
	drawRectangle3D(-1,y,0.1,-1,y+0.3,0.1,-1.15,y+0.3,0.1,-1.15,y,0.1);

	//if(y>4 || y<2.5){// pour l'entrée du terrain
	drawRectangle3D(1,y,0,1,y+0.3,0,1,y+0.3,0.1,1,y,0.1);// les trotoires du route droite vers (bas) rouge
	drawRectangle3D(1,y,0.1,1,y+0.3,0.1,1.15,y+0.3,0.1,1.15,y,0.1);
	//}

	drawRectangle3D(-y,-1,0,-y-0.3,-1,0,-y-0.3,-1,0.1,-y,-1,0.1);// les trotoires du route haut vers (gauche) rouge
	drawRectangle3D(-y,-1,0.1,-y-0.3,-1,0.1,-y-0.3,-1.15,0.1,-y,-1.15,0.1);

	drawRectangle3D(-y,1,0,-y-0.3,1,0,-y-0.3,1,0.1,-y,1,0.1);// les trotoires du route haut vers (droite) rouge
	drawRectangle3D(-y,1,0.1,-y-0.3,1,0.1,-y-0.3,1.15,0.1,-y,1.15,0.1);

	drawRectangle3D(y,-1,0,y+0.3,-1,0,y+0.3,-1,0.1,y,-1,0.1);// les trotoires du route bas vers (gauche) rouge
	drawRectangle3D(y,-1,0.1,y+0.3,-1,0.1,y+0.3,-1.15,0.1,y,-1.15,0.1);

	drawRectangle3D(y,1,0,y+0.3,1,0,y+0.3,1,0.1,y,1,0.1);// les trotoires du route bas vers (droite) rouge
	drawRectangle3D(y,1,0.1,y+0.3,1,0.1,y+0.3,1.15,0.1,y,1.15,0.1);
		
	drawRectangle3D(-1,-y,0,-1,-y-0.3,0,-1,-y-0.3,0.1,-1,-y,0.1);// les trotoires du route gauche (vres haut)
	drawRectangle3D(-1,-y,0.1,-1,-y-0.3,0.1,-1.15,-y-0.3,0.1,-1.15,-y,0.1);

	drawRectangle3D(1,-y,0,1,-y-0.3,0,1,-y-0.3,0.1,1,-y,0.1);// les trotoires du route gauche (vres bas)
	drawRectangle3D(1,-y,0.1,1,-y-0.3,0.1,1.15,-y-0.3,0.1,1.15,-y,0.1);
	
	y= y +0.3;
	
	glColor3ub(255,255,255);
	drawRectangle3D(-1,y,0,-1,y+0.3,0,-1,y+0.3,0.1,-1,y,0.1);// les trotoires du route droite vers (haut) blanc
	drawRectangle3D(-1,y,0.1,-1,y+0.3,0.1,-1.15,y+0.3,0.1,-1.15,y,0.1);

	//if(y>4 || y<2.5){// pour l'entrée du terrain
	drawRectangle3D(1,y,0,1,y+0.3,0,1,y+0.3,0.1,1,y,0.1);// les trotoires du route droite vers (bas) blanc
	drawRectangle3D(1,y,0.1,1,y+0.3,0.1,1.15,y+0.3,0.1,1.15,y,0.1);
	//}
	

	drawRectangle3D(-1,-y,0,-1,-y-0.3,0,-1,-y-0.3,0.1,-1,-y,0.1);// les trotoires du route gauche vers (haut) blanc
	drawRectangle3D(-1,-y,0.1,-1,-y-0.3,0.1,-1.15,-y-0.3,0.1,-1.15,-y,0.1);

	drawRectangle3D(1,-y,0,1,-y-0.3,0,1,-y-0.3,0.1,1,-y,0.1);// les trotoires du route gauche vers (bas) blanc
	drawRectangle3D(1,-y,0.1,1,-y-0.3,0.1,1.15,-y-0.3,0.1,1.15,-y,0.1);

	drawRectangle3D(-y,-1,0,-y-0.3,-1,0,-y-0.3,-1,0.1,-y,-1,0.1);// les trotoires du route haut vers (gauche) blanc
	drawRectangle3D(-y,-1,0.1,-y-0.3,-1,0.1,-y-0.3,-1.15,0.1,-y,-1.15,0.1);

	drawRectangle3D(-y,1,0,-y-0.3,1,0,-y-0.3,1,0.1,-y,1,0.1);// les trotoires du route haut vers (droite) blanc
	drawRectangle3D(-y,1,0.1,-y-0.3,1,0.1,-y-0.3,1.15,0.1,-y,1.15,0.1);

	drawRectangle3D(y,-1,0,y+0.3,-1,0,y+0.3,-1,0.1,y,-1,0.1);// les trotoires du route bas vers (gauche) blanc
	drawRectangle3D(y,-1,0.1,y+0.3,-1,0.1,y+0.3,-1.15,0.1,y,-1.15,0.1);

	drawRectangle3D(y,1,0,y+0.3,1,0,y+0.3,1,0.1,y,1,0.1);// les trotoires du route bas vers (droite) blanc
	drawRectangle3D(y,1,0.1,y+0.3,1,0.1,y+0.3,1.15,0.1,y,1.15,0.1);
	
	y= y +0.3;
	}
	// trotoir droit bas
	glColor3ub(130,130,130);
	drawRectangle3DTexture(texture,1.15,1.15,0.1,1.55,1.15,0.1,1.55,7,0.1,1.15,7,0.1);
	drawRectangle3DTexture(texture,1.55,1.15,0.1,1.55,1.55,0.1,7,1.55,0.1,7,1.15,0.1);
	//trotoir droit haut
	drawRectangle3DTexture(texture,-1.15,1.15,0.1,-1.55,1.15,0.1,-1.55,7,0.1,-1.15,7,0.1);
	drawRectangle3DTexture(texture,-1.55,1.15,0.1,-1.55,1.55,0.1,-7,1.55,0.1,-7,1.15,0.1);
	//trotoir devant usine
	drawRectangle3DTexture(texture,-1.15,-1.15,0.1,-1.55,-1.15,0.1,-1.55,-17,0.1,-1.15,-17,0.1);
	drawRectangle3DTexture(texture,-1.55,-1.15,0.1,-1.55,-1.55,0.1,-17,-1.55,0.1,-17,-1.15,0.1);
	//trotoir devant devant usine
	drawRectangle3DTexture(texture,1.15,-1.15,0.1,1.55,-1.15,0.1,1.55,-7,0.1,1.15,-7,0.1);
	drawRectangle3DTexture(texture,1.55,-1.15,0.1,1.55,-1.55,0.1,7,-1.55,0.1,7,-1.15,0.1);
	//mur droit haut
	/*
	*/
	mur_villa(texture);
	dernier_batiment(texture);
	/*
	* le mur de l'immeuble et son image
	*/  
	glColor3ub(255,255,255);
	
	glBindTexture(GL_TEXTURE_2D, texture[0]);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);        
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
	glMatrixMode(GL_TEXTURE);
	glLoadIdentity();
	//glScalef(2,2,2);
	glEnable(GL_TEXTURE_2D);
	glBegin (GL_QUADS);
   glTexCoord2i(0,0);	glVertex3f (-1.55,1.55,0.1);
   glTexCoord2i(1,0);	glVertex3f (-1.55,7,0.1);
   glTexCoord2i(1,1);	glVertex3f (-1.55,7,2);
   glTexCoord2i(0,1);	glVertex3f (-1.55,1.55,2);
   glEnd ();
	
   glMatrixMode(GL_MODELVIEW);// les autres murs du meme immeuble
	drawRectangle3D(-1.55,1.55,0.1,-1.55,7,0.1,-1.55,7,2,-1.55,1.55,2);
	drawRectangle3D(-1.55,1.55,0.1,-7,1.55,0.1,-7,1.55,2,-1.55,1.55,2);
	drawRectangle3D(-1.55,1.55,2,-7,1.55,2,-7,7,2,-1.55,7,2);//plafon
	/*-------- le feu rouge  a cote du mur
	*/
	GLUquadric* params = gluNewQuadric();
	glPushMatrix();
	glTranslated(-1.24,1.52,0);				// changement repere
    glColor3ub(155,155,155);
	gluCylinder(params,0.05,0.05,1.1,20,1);
    glTranslated(0,0,0.47);					// changement repere
	glColor3ub(255,0,0);
	
	// la texture et le feu tricolore
	
	glColor3ub(255,255,255);
	
	glBindTexture(GL_TEXTURE_2D, texture[1]);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);        
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
	glMatrixMode(GL_TEXTURE);
	glEnable(GL_TEXTURE_2D);
	glBegin (GL_QUADS);
   glTexCoord2i(0,0);	glVertex3f (0.11,0.11,0);
   glTexCoord2i(1,0);	glVertex3f (-0.11,0.11,0);
   glTexCoord2i(1,1);	glVertex3f (-0.11,0.11,0.7);
   glTexCoord2i(0,1);	glVertex3f (0.11,0.11,0.7);
   glEnd ();
   glDisable(GL_TEXTURE_2D);
	//gluDeleteQuadric(params);
	
	glMatrixMode(GL_MODELVIEW);
	glPopMatrix();
	/*
	*/ //le deuxieme feu tricolore
	glPushMatrix();
	glTranslated(-1.66,-1.27,0);				// changement repere
    glColor3ub(42,42,42);
	gluCylinder(params,0.05,0.05,1.1,20,1);
    glTranslated(0,0,0.47);					// changement repere
	glBegin (GL_QUADS);
  /* glTexCoord2i(0,1);*/	glVertex3f (-0.11,-0.11,0);
   /*glTexCoord2i(1,1);*/	glVertex3f (-0.11,0.11,0);
   /*glTexCoord2i(1,0);*/	glVertex3f (-0.11,0.11,0.7);
   /*glTexCoord2i(0,0);*/	glVertex3f (-0.11,-0.11,0.7);
   glEnd ();
   glDisable(GL_TEXTURE_2D);
	//gluDeleteQuadric(params);
	glMatrixMode(GL_MODELVIEW);
	glPopMatrix();
	/*
	*/ //le troisieme feu tricolore
	glPushMatrix();
	glTranslated(+1.27,-1.53,0);				// changement repere
    glColor3ub(42,42,42);
	gluCylinder(params,0.05,0.05,1.1,20,1);
    glTranslated(0,0,0.47);					// changement repere
	glBegin (GL_QUADS);
  /* glTexCoord2i(0,1);*/	glVertex3f (0.11,-0.11,0);
   /*glTexCoord2i(1,1);*/	glVertex3f (-0.11,-0.11,0);
   /*glTexCoord2i(1,0);*/	glVertex3f (-0.11,-0.11,0.7);
   /*glTexCoord2i(0,0);*/	glVertex3f (0.11,-0.11,0.7);
   glEnd ();
   glDisable(GL_TEXTURE_2D);
	//gluDeleteQuadric(params);
	glMatrixMode(GL_MODELVIEW);
	glPopMatrix();
	/*
	*/ //le quatrieme feu tricolore
	glPushMatrix();
	glTranslated(+1.59,+1.3,0);				// changement repere
    glColor3ub(42,42,42);
	gluCylinder(params,0.05,0.05,1.1,20,1);
    glTranslated(0,0,0.47);					// changement repere
	
	glBindTexture(GL_TEXTURE_2D, texture[1]);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);        
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
	glMatrixMode(GL_TEXTURE);
	glEnable(GL_TEXTURE_2D);
	glColor3ub(255,255,255);
	glBegin (GL_QUADS);
   glTexCoord2i(0,0);	glVertex3f (0.11,-0.11,0);
  glTexCoord2i(1,0);	glVertex3f (0.11,0.11,0);
  glTexCoord2i(1,1);	glVertex3f (0.11,0.11,0.7);
  glTexCoord2i(0,1);	glVertex3f (0.11,-0.11,0.7);
   glEnd ();
   glDisable(GL_TEXTURE_2D);
	gluDeleteQuadric(params);
	glMatrixMode(GL_MODELVIEW);
	glPopMatrix();
	/*
	*/
	drawVoiturealler(texture,yy);
	//glFlush();
	glutSwapBuffers();
	/*
	*/
	/*GetLocalTime(&Time);
	differ_time = Time.wMilliseconds - current_time;
	if (differ_time < 4 & differ_time > 0)
        {
            Sleep(4 - differ_time);
        }
	// - --	-	-	-	-	-	-	-	
		*/
	//}
	/*
	*/
	
	//
	
}
void Idle(){
yy = yy -0.1;
glutPostRedisplay();
}
int main(int argc, char** argv)
{

	glutInit(&argc, argv);
	glutInitDisplayMode(  GLUT_RGBA | GLUT_DOUBLE |GLUT_DEPTH );
	glutInitWindowSize(1000,590);
	glutInitWindowPosition(50,50);
	
	glutCreateWindow("fenetre OpenGl");
	
	glMatrixMode( GL_PROJECTION );
    glLoadIdentity();
    	
	gluPerspective(40,(double)640/480,1,100);
    glEnable(GL_DEPTH_TEST);

	glutDisplayFunc(Dessiner);
	glutIdleFunc(Idle);
	
	
	//Dessiner();
	glutKeyboardFunc(key);
	glutMainLoop();
	return 0;
}


merci
dimanche 11 décembre 2011 à 13:34:55 | Re : probleme execution animation opengl

LA_Tupac

Membre Club
Bonjour.
Ton pseudo ne donne pas vraiment envie de répondre mais il y'a un effort de fait et une vrai question posée même si le français n'est pas maitrisé.
Pour le déplacement des objets, il y'a des règles à respecter:
-Pour que le déplacement soit fluide, l'objet doit être déplacé à chaque images (évident pour certains).
-Le déplacement est calculé en tenant compte du FPS (pour que la vitesse soit la même sur tout les ordinateurs, lents ou rapides). Le calcul de base peut ressembler à: Déplacement/Frame = Vitesse/FPS.
Avec ce calcul, plus le PC sera rapide, plus le déplacement sera fluide, mais la distance/seconde sera pareil chez tout le monde


Cette discussion est classée dans : load, gl, texture, drawrectangle, soil


Répondre à ce message

Sujets en rapport avec ce message

erreur en opengl :( [ par intello2001 ] c:\documents and settings\administrator\mes documents\ogl3\ogl3\untitled1.o(.text+0x71f):untitled1.cpp: undefined reference to `auxDIBImageLoadA@4'c s AIDEZ MOI scp problème de texture bmp avec glaux [ par progundeath ] aidez moi svp g un big problème que j'arrive pas à résoudre mais bon je ne suis qu'un newbie d'autres le résoluront en 10 secondes enfin j'espère donc texture sphere opengl [ par bog29 ] Hi,J ai un petit soucis, je veux plaquer une texture sur une sphere, ce que j arrive a faire , mais ensuite lorsque je mets la sphere en rotation, la [Open GL]Afficher plusieurs images [ par goutbouyo ] Salut, c'est encore moi, désolé ...En fait c'est que je n'arrive pas à charger plusieurs images.J'utilise ça :Je charge une image :void LoadTexture() Charger TGA avec open gl [ par goutbouyo ] Salut,Depuis ce midi j'essaie de charger un fichier TGA et de l'appliquer à une surface mais je n'y arrive.Est ce qu'il existe sous open gl un code si LoadTGA() probleme ! [ par Dante41 ] Voila, pour mon jeu en 2D avec OpenGL j'utilise la fonction loadTGA(): bool LoadTGA(char *filename, UINT * uTex){ unsigned char TGAheader[12] = {0, [glut] textures [ par khayyam ] bonsoir tout le monde, mon problème est simple : si je décare une texture de la manière suivanteunsigned char data[]={1,1,255,1,255,1,1,255,1,101,102, Texture d'une glutSphere [ par Dante41 ] Salut à tous, J'ai besoin de votre aide. j'essaie de recréer le système solaire en OpenGL par conséquent , il faut que je fasse toutes les planètes av probleme pour texturer une sphere [ par mikey84 ] Bonjour! j'ai un énorme problème. J'ai essayé d'appliquer une texture sur ma sphère avec la librairie devil, avec opengl et glut et aucun n'a fonction Pb de FRONT et BACK buffer avec texture [ par gastoudou ] Bonjour à tous,Je suis en train de faire un projet en OpenGL pour l'école sur un puzzle 2D. Il y a 16 cases mélangées et on doit les remettre à leur p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,622 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales