Télécharger le zip
Pour ceux qui veulent le lancer, télécharger glut ici : http://www.xmission.com/~nate/glut.html dézipper et prendre glut32.dll pour le mettre dans C:\windows\system32 C bien pour commencer, mais t'as deux planètes qui se rentrent dedans, et tu devrais chercher des textures toutes faites pour les planètes ;) Mais bon, c'est bien pour le début de l'OpenGL avec GLUT.
Bonjour, Bonne source pour commencer effectivement mais manque alors quelques commentaires : un débutant peut ne pas comprendre du premier coup certaines instructions, non ? Tu en as mis je sais mais pour une source de démonstration : plus on met de commentaire, mieux c'est ;))) D'autre part du point de vue technique de programmation (hors opengl tout de même car c'est limpide ce que tu as écris :), je te conseille d'utiliser dans Ecrire(GLdoubel, GLdouble, char*, ...) la fonction *vsnprintf* plutôt que *vsprintf*. Pourquoi ? risque latent de débordement de capacité de ton buffer ! ce qui donne : --------------------------------------------------- va_list args; char buffer[255], *s; va_start(args, format); vsprintf(buffer, 255, format, args); va_end(args); --------------------------------------------------- C'est de la technique pure qui n'a rien à voir mais qui peut te servir un jour ;) Enfin, évite de définir des fonctions dans le .h sauf si (en c++) c'est déclaré en tant que "inline". Quoi rabajoie, héhé ... juste que si tu as plusieurs CPP utilisant ce .H à compiler et assembler ensuite, tu auras des erreurs de fonctions déjà définies (surtout avec gcc, mingw, ...) Good job, guy ;) MickBad
merci de ces précisions MickBad. quicky24
ben voila c'est quand meme autre chose! cependant quelques problemes encore: la taille du .exe : 242Ko ca me parait gros... va voir dans l'aide du compilo comment optimiser ca. la phrase 'pour accelerer les fps, appuyez sur f' ne veut RIEN dire, meme si ds le prog ca fait fps++;le probleme c'est que tu fais glRotated(-e,0,1,0); e -= 2; aieaieaie. ce qu'il faudrait faire c'est glRotated(-e,0,1,0); e -= DeltaTemps; if(fps > 60) { fps -= 2.00; } ne sert a rien du tout (mais alors vraiement a rien...) et voila... mickbad -> t'as un lien sous le coude qui expliquerait la différence entre ces 2 fonctions plus précisément? merci.
oh et si on pouvait voir du dessus ca serait cool...
Mouais c vrai que sur le coup j'avais pas capté ce qu'il voulait dire par changer les fps, j'ai pas pensé à le dire! lol
Arnaud16022> salut, de mémoire non pas vraiment mais les fonctions printf, sprintf, snprintf, vprintf, vsnprintf proviennent de "l'api" standard du C (stdio.h). Donc tu peux "logiquement" trouver les détails dans tout bon tutorial ou livre tel que "Le Language C" de Kernighan et Ritchie (livre référence de base même si ça date un peu ;) Pour résumer un peu (de ce que tu sais certainement implicitement :) : - printf te sert à afficher du texte formatée sur stdout (au même titre que fprintf(stdout ...)) - sprintf fait la même chose sauf que le flux est stocké dans une mémoire préalablement allouée - snprintf (ce que j'utilise le plus en C) n'a de différence avec sprintf qu'avec la taille de sortie du flux : en gros, snprintf(buf, 256, "%d", 3) te place 3 dans buf mais sachant que si le texte formaté dépasse 256 caractères, il sera tronqué ! -vsprintf / vsnprintf : idem que sprintf et snprintf sauf que les arguments du texte formaté est sous la forme d'une liste (va_list) : utile qd tu es dans une fonction de type void foo(char* gnagna, ...) où tu ne connais pas le nombre d'argument. [l'exemple d'utilisation de vs[n]printf donné dans cette source (.h) est parfaite] Voilà pour la théorie :) En pratique l'utilisation de *nprintf est conseillé car tu es sur d'une chose : il n'y aura pas de débordement de capacité sur ta zone allouée (à moi que tu te trompes dans la taille à fournir :))) Le risque : plantage de ton programme (et pas forcément à l'endroit de cette faute ... ça vient *toujours* plus tard à un endroit inattendu), mémoire non libéré entièrement => instabilité du prgm ou sysème, trou de sécurité (surtout si cette zone correspond à une entrée utilisateur qui peut injecter du code supplémentaire via ton interface) Tout est relatif à l'échelle du programme naturellement ;) Tiens de même avec string.h, il vaut mieux utiliser strncpy plutot que strcpy, strncat plutôt que strcat ... au niveau des liens, je vais rechercher mais pas évident de trouver des comparatifs de fonctions standard j'espère t'avoir répondu MickBad
Arnaud16022> j'ai modifié mon code et j'ai trouvé comment régulé les fps jusqu'a 60 et merci pour l'aide :-) goondy> tu as raison mais avec les textures ça va ralentir les FPS. quicky24
Naaaaan... le but n'est pas de réguler le fps. le but est d'avoir au contraire un fps le plus élevé possible, pour en conservant la meme vitesse de déplacement des spheres quelque soit le fps. dans ton prog tu as une variable temps. remplace e-=2 par e-=10*temps (temps déclaré en global, c'est le cas je crois) tu verras la ca marchera bien, meme en aggrandissant la fenetre la vitesse sera constante. par contre ta maj refuse ded se lancer (la fenetre se crée mais n'affiche rien, et 600Ko pour un exe c'est gros je trouve.
G recompilé. c'est zarbi ce truc. mon exe fait 1 Mo optimisé au max. le fps est bloqué, mais en aggrandissant la fenetre le vitesse diminue, ca devrait pas puisque le fps ne change pas... ??
j'ai refait ton prog il marche impec now. file moi ton mail que je te l'envoie
Arnaud> bah tu cliques sur mon avar et tu auras mon e-mail.
oh c vrai ils donnent pas, c'est "n.le_forestier@tiscali.fr"
Moi qui suis sur un projet similaire, j'me suis dit youhou ! voilà un chti gars super cool. Mais en fait quand je compile le tout, j'ai un problème avec tous les include iostream, cstdio lib arg , list? Sauriez vous pourquoi ?????
salut, Tu as essayé d'ajouter .h aux includes ? Parfois les compilateurs n'acceptent pas ce genre de syntaxe: #include <iostream> et tu peux nous écrire au moins un message d'erreur pour nous aiguiller ? :) Mick
oui... il dit quoi le compilo?
slt alesx tu compiles avec quel IDE?
ah oui j'ai oublié j'ai corrigé le bug: mais il est encore sur l'ordi.
mon code ne marche pas sur XP fait chier ça!!
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 796 membres 63 nouveaux aujourd'hui 15 441 membres club