RaphAstronome
Messages postés104Date d'inscriptionsamedi 7 décembre 2002StatutMembreDernière intervention17 août 2009 29 déc. 2003 à 11:29
Bien très beau même si ça ramme un peu avec ma carte graphique.
Par contre j'ai dù fortement modifier le constructeur de la classe CStar je l'ai remplacé par :
Cstar () {
GLushort xx=rand()%scr_x; //coordonne X
GLushort yy=rand()%scr_y; //coordonne Z pour la creation aleatoire
GLushort zz=rand()%proof; //coordonne Z pour le remplacement
GLushort VV=rand()%Vmax + 1; //Vitesse
GLdouble Psat_txx=(GLdouble)(rand()%Psat_tx_max)+2*diam_et; //position Tx du satellite;
GLdouble Psat_rxx=(GLdouble)(rand()%Psat_rx_max); //position Rx du satellite
GLdouble Psat_ryy=(GLdouble)(rand()%Psat_ry_max); //position Ry du satellite
GLdouble Psat_rzz=(GLdouble)(rand()%Psat_rz_max); //position Rz du satellite
GLubyte RR=(GLubyte)(rand()%Rmax); //composante Rouge
GLubyte GG=(GLubyte)(rand()%Gmax); //composante Vert
GLubyte BB=(GLubyte)(rand()%Bmax); //composante Bleu
Jeremie tu doit pouvoir trouver la lib de glut compatible avec ton linker quelque part sur internet.
cs_jeremie
Messages postés3Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention17 octobre 2003 17 oct. 2003 à 11:00
C dommage que je n'est pas gltu.h !
Maegis
Messages postés101Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention 6 août 2007 8 oct. 2003 à 17:33
C'est bète, avec ma vieille voodoo banshee glut ne veut pas s'initialiser,
C'est dommage je ne peut pas me rendre compte de ce que sa donne.
Tu peut pas mettre un screenshot ?
gillig
Messages postés32Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 4 décembre 2003 7 oct. 2003 à 16:46
j'ai pas eu beaucoup de temps pour examiner ton code, mais je crois avoir trouvé ton bug : tu alloues un tableau de taille NB (NB éléments), mais tu utilises des boucles for(i=0;i<=NB;i++), soit NB+1 éléments...
Quand j'aurai du temps, je jetterai à nouveau un oeil sur ton code, j'ai l'impression qu'on peut simplifier (la fonction creer_couleur est louche par exemple)...
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 6 oct. 2003 à 20:55
avec plaisir, ;-) si tu as un problème avec ça, tu peux tjs me contacter.
dragonryu
Messages postés9Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention 6 décembre 2004 6 oct. 2003 à 20:05
ok merci bien :)
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 6 oct. 2003 à 19:58
ah pardon, alors le cast c'est une méthode très fréquente en C++.
quand tu définis un int, tu alloues 4 octets dans la mémoire.
quand tu définis un char, tu en alloues 1.
char lettre;
int ascii = 128;
//ceci ne marchera pas, car tu assignes un int à un char
lettre = ascii;
tu dois indiquer au compilo qu'il doit interpreter la zone mémoire de ascii comme un char -> il transforme le nombre et l'écrit sur un octet plutot que 4. comme 128 est ds l'intervalle 0 - 255 ça marche (la je te fias pas un cours de binaire, c'est comme ça c tt ;-))
lettre = (char) ascii;
ça ça marche, tu CASTES la variable -> tu en changes le type. ça marceh pas avec ts les types, mais de int vers/ de float, char avec des nombres, double <-> float etc
c très pratique et très courant. faut qd meme se méfier ! ;-)
vala :-)
dragonryu
Messages postés9Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention 6 décembre 2004 6 oct. 2003 à 17:13
c'est a dire?
j dois mettre cast devant la ligne?
et ca sert a koi*? a ignorer l'instruction?
j suis un newb alors j me renseigne...
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 6 oct. 2003 à 17:11
c'est bien ce que je dis lol, tu dois caster.
dragonryu
Messages postés9Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention 6 décembre 2004 6 oct. 2003 à 16:59
ba j utilise dev c++ O_o
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 6 oct. 2003 à 16:58
fais un cast devant alors, c'est probablement ton compilo qui est plus rigoureux. perso j'utillise Dev C++ qui est plus pointilleux que VC++ pr ce genre de choses.
dragonryu
Messages postés9Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention 6 décembre 2004 6 oct. 2003 à 16:45
moi j ai ca comme erreur:
132 c:guilla~1logc__sou~1cppfra~1lastlast.cpp
warning: assignment to `short int' from `GLfloat'
133 c:guilla~1logc__sou~1cppfra~1lastlast.cpp
warning: assignment to `short int' from `GLfloat'
134 c:guilla~1logc__sou~1cppfra~1lastlast.cpp
warning: assignment to `short int' from `GLfloat'
135 c:guilla~1logc__sou~1cppfra~1lastlast.cpp
warning: assignment to `short int' from `GLfloat'
et je sais pas pourquoi?
eldered
Messages postés232Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention25 mai 2022 6 oct. 2003 à 08:09
A wé ! Ca tape grave ! C vrai que j'ai eu le bug aussi, c bizzare !!!!!!!!!! Enfin, c vraiement sympas !
++
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 6 oct. 2003 à 07:46
hei il déch' ton star field !! :-D je viens de tester là. Les couleurs sont peut etre un peu barbares lol, mais l'effet est bon !
quant au bug là ... je sais pas, comment tu déplaces tout ça? C'est la caméra qui bouge ou les étoiles ? c'est bizarre en effet. à mon avis, pour un bg comme ça, faut double-checker les paramètres opengl, genre la profondeur de la vue etc. ce soir je t'en dirai plus si tu as répondu, car là je dois aller à l'école. ciao !
mais l'effet est franchement bon :-)
29 déc. 2003 à 11:29
Par contre j'ai dù fortement modifier le constructeur de la classe CStar je l'ai remplacé par :
Cstar () {
GLushort xx=rand()%scr_x; //coordonne X
GLushort yy=rand()%scr_y; //coordonne Z pour la creation aleatoire
GLushort zz=rand()%proof; //coordonne Z pour le remplacement
GLushort VV=rand()%Vmax + 1; //Vitesse
GLdouble Psat_txx=(GLdouble)(rand()%Psat_tx_max)+2*diam_et; //position Tx du satellite;
GLdouble Psat_rxx=(GLdouble)(rand()%Psat_rx_max); //position Rx du satellite
GLdouble Psat_ryy=(GLdouble)(rand()%Psat_ry_max); //position Ry du satellite
GLdouble Psat_rzz=(GLdouble)(rand()%Psat_rz_max); //position Rz du satellite
GLubyte RR=(GLubyte)(rand()%Rmax); //composante Rouge
GLubyte GG=(GLubyte)(rand()%Gmax); //composante Vert
GLubyte BB=(GLubyte)(rand()%Bmax); //composante Bleu
x=xx;
y=yy;
z=zz;
V=VV;
Psat_tx=Psat_txx;
Psat_rx=Psat_rxx;
Psat_ry=Psat_ryy;
Psat_rz=Psat_rzz;
R=RR;
G=GG;
B=BB;
}
J'utilise Dev-C++
Jeremie tu doit pouvoir trouver la lib de glut compatible avec ton linker quelque part sur internet.
17 oct. 2003 à 11:00
8 oct. 2003 à 17:33
C'est dommage je ne peut pas me rendre compte de ce que sa donne.
Tu peut pas mettre un screenshot ?
7 oct. 2003 à 16:46
Quand j'aurai du temps, je jetterai à nouveau un oeil sur ton code, j'ai l'impression qu'on peut simplifier (la fonction creer_couleur est louche par exemple)...
6 oct. 2003 à 20:55
6 oct. 2003 à 20:05
6 oct. 2003 à 19:58
quand tu définis un int, tu alloues 4 octets dans la mémoire.
quand tu définis un char, tu en alloues 1.
char lettre;
int ascii = 128;
//ceci ne marchera pas, car tu assignes un int à un char
lettre = ascii;
tu dois indiquer au compilo qu'il doit interpreter la zone mémoire de ascii comme un char -> il transforme le nombre et l'écrit sur un octet plutot que 4. comme 128 est ds l'intervalle 0 - 255 ça marche (la je te fias pas un cours de binaire, c'est comme ça c tt ;-))
lettre = (char) ascii;
ça ça marche, tu CASTES la variable -> tu en changes le type. ça marceh pas avec ts les types, mais de int vers/ de float, char avec des nombres, double <-> float etc
c très pratique et très courant. faut qd meme se méfier ! ;-)
vala :-)
6 oct. 2003 à 17:13
j dois mettre cast devant la ligne?
et ca sert a koi*? a ignorer l'instruction?
j suis un newb alors j me renseigne...
6 oct. 2003 à 17:11
6 oct. 2003 à 16:59
6 oct. 2003 à 16:58
6 oct. 2003 à 16:45
132 c:guilla~1logc__sou~1cppfra~1lastlast.cpp
warning: assignment to `short int' from `GLfloat'
133 c:guilla~1logc__sou~1cppfra~1lastlast.cpp
warning: assignment to `short int' from `GLfloat'
134 c:guilla~1logc__sou~1cppfra~1lastlast.cpp
warning: assignment to `short int' from `GLfloat'
135 c:guilla~1logc__sou~1cppfra~1lastlast.cpp
warning: assignment to `short int' from `GLfloat'
et je sais pas pourquoi?
6 oct. 2003 à 08:09
++
6 oct. 2003 à 07:46
quant au bug là ... je sais pas, comment tu déplaces tout ça? C'est la caméra qui bouge ou les étoiles ? c'est bizarre en effet. à mon avis, pour un bg comme ça, faut double-checker les paramètres opengl, genre la profondeur de la vue etc. ce soir je t'en dirai plus si tu as répondu, car là je dois aller à l'école. ciao !
mais l'effet est franchement bon :-)