nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008
-
17 févr. 2006 à 14:51
nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008
-
18 févr. 2006 à 12:04
Salut, j'ai encore un problème et comme d'habitude je trouve pas la solution : mon problème c'est que j'ai une brique qui clignote anormalement : de temps en temps elle semble s'éteindre !!!
Voici la source :
#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>
#include <math.h>
#define PI 3.14159265
int theta=50;
void changePerspective();
void display();
void brique(void);
void calcTableCosSin();
void rotation();
float ang=0;
float inca=4;
int rotation_act=1;
float Sin[360],Cos[360];
/* Paramètres de lumière */
GLfloat L0pos[]={-4.0,4.0,3.0};
GLfloat L0dif[]={ 1.0,1.0,1.0};
GLfloat L1pos[]={ 1.7,4.5,2.0};
GLfloat L1dif[]={ 1.0,1.0,1.0};
GLfloat Mspec[]={ 0.7,0.7,0.7};
GLfloat Mshiny=5;
/* Fin paramètres de lumière */
void calcTableCosSin()
{
/* calcul du tableau des sinus et cosinus */
int i;
for (i=0;i<360;i++) {
Cos[i]=cos(((float)i)/180.0*PI);
Sin[i]=sin(((float)i)/180.0*PI);
}
}
void rotation()
{
ang=ang+inca;
if (ang>360)
ang=ang-360;
glutPostRedisplay();
}
Voila, merci de me dire où ca ne va pas et aussi dites moi si mon utilisation de gluttimerfunc est correcte <!--IBF.ATTACHMENT_6365611-->
<!-- THE POST -->
KeniiyK
Messages postés326Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention 2 novembre 20072 17 févr. 2006 à 23:37
Salut, je ne sais pas si ca va resoudre ton problème mais :
glPushMatrix();
if(rotation_act==1)
glutTimerFunc(30,rotation,0);
/* Dessin de la brique tournante */
glLoadIdentity();
glPopMatrix();
glPushMatrix();
glRotatef(ang,0.0,1.0,0.0);
brique();
glPopMatrix();
Ce qui est en rouge est a virer, ce qui est en vert a rajouter
Pour glutTimerFunc, il faut passer au second parametre l'adresse d'une fonction :
void func(int)
nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008 18 févr. 2006 à 12:04
J'ai peut etre trouvé : dans mon code source, j'ai oublié de dire les normales. Cependant, quand je fais ca il semble y avoir des prblèmes d'ombrage : chaque face est "unie" lorsque qu'une face est à moitié dans l'ombre, alors elle est totalement noire !