Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005
-
30 oct. 2004 à 14:40
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008
-
13 mars 2005 à 12:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 13 mars 2005 à 12:15
glut.h:50: error: redeclaration of
C++ built-in type `
wchar_t'
tu n'as qu'à commenter la ligne de glut.h qui redéfinit wchar_t. ça doit être autour de la ligne 50.
Temps.h:10: error: `cout' undeclared (first use this
function)
soit tu n'as pas inclut , soit tu n'as pas mis le using namespace std; mais les using ds les en-têtes sont déconseillés (d'ailleurs comment tu peux avoir du cout dans un .h O_O_O). en tt cas, tu dois remplacer les cout, cin, string, ... par std::... (std::cout par exemple)
mat1eu
Messages postés13Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention20 février 2006 13 mars 2005 à 02:19
je pense que je suis a la masse ce soir g essaye comme
vous me dites mais ya toujours un probleme :
Compilateur: Default compiler
Building Makefile: "C:\Dev-Cpp\project\open_gl\Makefile.win"
Exécution de make...
make.exe -f "C:\Dev-Cpp\project\open_gl\Makefile.win"
all
g++.exe -c demo.cpp -o demo.o -I"C:/Dev-Cpp/include/c++/3.3.1" -I"C:/Dev-Cpp/include/c++/3.3.1/mingw32" -I"C:/Dev-Cpp/include/c++/3.3.1/backward" -I"C:/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/include/ddk" -I"C:/Dev-Cpp/include/GL" -I"C:/Dev-Cpp/include/GTK" -I"C:/Dev-Cpp/include/sys"
In file included from Demo.h:1,
from demo.cpp:1:
C:/Dev-Cpp/include/GL/glut.h:50: error: redeclaration of
C++ built-in type `
wchar_t'
In file included from demo.cpp:2:
Temps.h: In function `void Temps()':
Temps.h:10: error: `cout' undeclared (first use this
function)
Temps.h:10: error: (Each undeclared identifier is reported
only once for each
function it appears in.)
make.exe: *** [demo.o] Error 1
Exécution terminée
merci encore une fois pour votre aide!
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 13 mars 2005 à 01:17
non.
les en-têtes du SDK (pas skd) dans le répertoire include/GL et les .a dans le répertoire lib, pas lib/GL.
oublie pas de lier les libs dans les options du projet.
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 12 mars 2005 à 22:20
ouah mais la c'est tout le header de gl qui y passe.... et pour cause:
glut.h: no such file
simplement, t'as pas installé de skd de openGL, il est entre autres sur www.belzel.free.fr, faudra mettre les fichiers . h dans le repertoire include/opengl de DevC++, les .lib dans le rep libraries/opengl
ca devrait marcher
++
Arnaud
mat1eu
Messages postés13Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention20 février 2006 12 mars 2005 à 21:36
Bonsoir je suis desole je ne vous avais pas mis le
message en entier donc voila ce que le log du compil me
donne comme info et je pense que c'est un message d'
erreur.
Merci pour le temps que vous passez a m'aider!!!
Compilateur: Default compiler
Building Makefile: "C:\Dev-Cpp\project\open_gl\Makefile.win"
Exécution de make...
make.exe -f "C:\Dev-Cpp\project\open_gl\Makefile.win"
all
g++.exe -c demo.cpp -o demo.o
-I"C:/Dev-Cpp/include/c++/3.3.1"
-I"C:/Dev-Cpp/include/c++/3.3.1/mingw32"
-I"C:/Dev-Cpp/include/c++/3.3.1/backward"
-I"C:/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include"
-I"C:/Dev-Cpp/include"
In file included from demo.cpp:1:
Demo.h:1:21: GL/glut.h: No such file or directory
In file included from demo.cpp:1:
Demo.h:7: error: syntax error before `=' token
In file included from demo.cpp:2:
Temps.h: In function `void Temps()':
Temps.h:10: error: `cout' undeclared (first use this
function)
Temps.h:10: error: (Each undeclared identifier is reported
only once for each
function it appears in.)
demo.cpp: In function `void Activations()':
demo.cpp:6: error: `GL_DEPTH_TEST' undeclared (first use
this function)
demo.cpp:6: error: `glEnable' undeclared (first use this
function)
demo.cpp:7: error: `GL_LESS' undeclared (first use this
function)
demo.cpp:7: error: `glDepthFunc' undeclared (first use
this function)
demo.cpp:8: error: `GL_FOG' undeclared (first use this
function)
demo.cpp:9: error: `GL_LIGHTING' undeclared (first use
this function)
demo.cpp:10: error: `GL_LIGHT0' undeclared (first use this
function)
demo.cpp:11: error: `GL_COLOR_MATERIAL' undeclared
(first use this function)
demo.cpp:12: error: `GL_SRC_ALPHA' undeclared (first
use this function)
demo.cpp:12: error: `GL_ONE' undeclared (first use this
function)
demo.cpp:12: error: `glBlendFunc' undeclared (first use
this function)
demo.cpp: At global scope:
demo.cpp:15: error: syntax error before `=' token
demo.cpp: In function `void Initialisation(int, int)':
demo.cpp:19: error: `glViewport' undeclared (first use this
function)
demo.cpp:20: error: `GL_PROJECTION' undeclared (first use this function)
demo.cpp:20: error: `glMatrixMode' undeclared (first use
this function)
demo.cpp:21: error: `glLoadIdentity' undeclared (first use
this function)
demo.cpp:22: error: `pcv' undeclared (first use this
function)
demo.cpp:22: error: `rapport' undeclared (first use this
function)
demo.cpp:22: error: `devant' undeclared (first use this
function)
demo.cpp:22: error: `derriere' undeclared (first use this
function)
demo.cpp:22: error: `gluPerspective' undeclared (first use
this function)
demo.cpp:23: error: `GL_MODELVIEW' undeclared (first
use this function)
demo.cpp: In function `void Brouillard()':
demo.cpp:29: error: `GL_FOG_COLOR' undeclared (first
use this function)
demo.cpp:29: error: `glFogfv' undeclared (first use this
function)
demo.cpp:30: error: `GL_FOG_MODE' undeclared (first use
this function)
demo.cpp:30: error: `GL_EXP2' undeclared (first use this
function)
demo.cpp:30: error: `glFogi' undeclared (first use this
function)
demo.cpp:31: error: `GL_FOG_DENSITY' undeclared (first
use this function)
demo.cpp:31: error: `glFogf' undeclared (first use this
function)
demo.cpp:32: error: `GL_FOG_START' undeclared (first use
this function)
demo.cpp:33: error: `GL_FOG_END' undeclared (first use
this function)
demo.cpp: In function `void Demo()':
demo.cpp:38: error: `GL_COLOR_BUFFER_BIT' undeclared
(first use this function)
demo.cpp:38: error: `GL_DEPTH_BUFFER_BIT' undeclared
(first use this function)
demo.cpp:38: error: `glClear' undeclared (first use this
function)
demo.cpp:39: error: `glClearColor' undeclared (first use
this function)
demo.cpp:40: error: `glMatrixMode' undeclared (first use
this function)
demo.cpp:44: error: `glPushMatrix' undeclared (first use
this function)
demo.cpp:45: error: `glTranslated' undeclared (first use
this function)
demo.cpp:47: error: `glColor3f' undeclared (first use this
function)
demo.cpp:48: error: `m' undeclared (first use this
function)
demo.cpp:48: error: `p' undeclared (first use this function)
demo.cpp:48: error: `glutSolidSphere' undeclared (first use this function)
demo.cpp:49: error: `glPopMatrix' undeclared (first use this function)
demo.cpp:54: error: `glRotated' undeclared (first use this function)
demo.cpp:82: error: `glutSwapBuffers' undeclared (first use this function)
demo.cpp:83: error: `glutPostRedisplay' undeclared (first use this function)
demo.cpp: In function `void Clavier(unsigned char, int, int)':
demo.cpp:90: error: `glEnable' undeclared (first use this function)
demo.cpp:92: error: `glDisable' undeclared (first use this function)
demo.cpp:98: error: `GL_BLEND' undeclared (first use this function)
demo.cpp: In function `void Touches(int, int, int)':
demo.cpp:110: error: `GLUT_KEY_DOWN' undeclared (first use this function)
demo.cpp:114: error: `GLUT_KEY_UP' undeclared (first use this function)
demo.cpp: In function `int main()':
demo.cpp:122: error: `glutInitWindowPosition' undeclared (first use this
function)
demo.cpp:123: error: `glutInitWindowSize' undeclared (first use this function)
demo.cpp:124: error: `GLUT_RGBA' undeclared (first use this function)
demo.cpp:124: error: `GLUT_DOUBLE' undeclared (first use this function)
demo.cpp:124: error: `GLUT_DEPTH' undeclared (first use this function)
demo.cpp:124: error: `glutInitDisplayMode' undeclared (first use this function)
demo.cpp:126: error: `glutCreateWindow' undeclared (first use this function)
demo.cpp:128: error: `glutReshapeFunc' undeclared (first use this function)
demo.cpp:131: error: `glutKeyboardFunc' undeclared (first use this function)
demo.cpp:132: error: `glutSpecialFunc' undeclared (first use this function)
demo.cpp:133: error: `glutDisplayFunc' undeclared (first use this function)
demo.cpp:135: error: `glutMainLoop' undeclared (first use this function)
make.exe: *** [demo.o] Error 1
Exécution terminée
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 11 mars 2005 à 22:48
J'ai hésité à le dire mais, en effet, aucun message d'erreur dans ce que tu nous montre, je suis formel.
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 11 mars 2005 à 22:16
Je ne parle pas le langage de devcpp mais moi il fait toujours des trucs comme ca a la compilation...
Il ne semble pas se plaindre dasn l'extrait que nous montre...donc a mon avis il faut que tu sois un plus plus precis
mat1eu
Messages postés13Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention20 février 2006 11 mars 2005 à 00:37
bonsoir je viens de voir la source et je n'arrive pas a compiler je suis sur dev c++ 4.9.9.1, j'ai linker comme c expliquer un peu plus haut mais il me met ce message :
Compilateur: Default compiler
Building Makefile: "C:\Dev-Cpp\project\open_gl\Makefile.win"
Exécution de make...
make.exe -f "C:\Dev-Cpp\project\open_gl\Makefile.win" all
g++.exe -c demo.cpp -o demo.o -I"C:/Dev-Cpp/include/c++/3.3.1" -I"C:/Dev-Cpp/include/c++/3.3.1/mingw32" -I"C:/Dev-Cpp/include/c++/3.3.1/backward" -I"C:/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include" -I"C:/Dev-Cpp/include"
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 9 déc. 2004 à 23:34
je sais plus si c'est System ou system...
ça enregistre le temps au démarrage du programme dans tps, demande d'appuyer sur enter, et affiche le temps qui s'est écoulé entre le démarrage du programme et l'appui sur enter.
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 8 déc. 2004 à 16:19
c'est quoi le code ? parce que je ne sais pas me servir de CLK_TCK.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 7 déc. 2004 à 23:44
si tu as tps_prec le temps mesuré à la frame précédente (avec clock()), les FPS sont de CLK_TCK / (clock() - tps_prec).
CLK_TCK vaut habituellement 1000 (ce qui veut dire qu'il y a 1000 ticks par seconde, càd qu'un tick vaut 1 ms)
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 7 déc. 2004 à 22:17
comment on s'en sert pour les fps?
quicky24
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 1 déc. 2004 à 18:06
utilise l'en-tête <ctime> alors, avec clock()
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 1 déc. 2004 à 17:25
non mais ce que je veux c'est que ça soit 100% OpenGL ou GLUT et non SDL ou Win32.
quicky24
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 28 nov. 2004 à 15:52
bah je te dis, digiben l'a fait, ya qu'a copier-coller...
enfin bon.
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 28 nov. 2004 à 15:42
slt tt le monde je voudrai le code OpenGL pour le timer pour afficher le nombre de frames.
quicky24
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 20 nov. 2004 à 22:04
il faut pas limiter. seul le V-sync limite le fps, mais ca c'est une autre histoire.
pour afficher le fps, je te déconseille fortement la methode de digiben: l'afficher dans le titre de l'application, ca fait chuter le fps de facon impressionnante...
mieux vaut l'afficher a l'écran, voir les liens sur ma source (spheremapped outlined fonts), c'est expliqué.
le principe du fps c'est que tu mesures le temps entre chaque frame avec time() (ou mieux, cette fonction est nulle mais pour ca ca suffit) . tu passes ce delta_Temps a toutes tes fonctions, et tu incrémentes tes compteurs avec un multiple de cette valeur.
pas tres clair tout ca? un exemple:
long tps=0.0f,lasttps=0.0f;
main(){
while(1){
fps();
dessine(deltaT);
}}
et voila pour le principe des fps, pour l'aficher cf les sources de digiben.
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 20 nov. 2004 à 20:43
les touches servaient à faire tourner quelque chose individuellement mais ça ne tournait pas individuellement. Et je voudrais savoir comment faire pour afficher le nombre de Frames Par Seconde et limiter pour que ça tourne à la même vitesse sur toutes les machines.
Merci
Quichy24
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 18 nov. 2004 à 20:24
L' EXE EN RELEASE!
quelle est l'utilité de ca:
void Touches(int key,int x,int y)
{switch(key){
case GLUT_KEY_DOWN: break;
case GLUT_KEY_UP: break;}}
??????????????????????????
rien hein?
toujours pas de timer
Temps() ne sert a rien
...mais sinon c'est bien mieux!!!!
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 18 nov. 2004 à 16:21
Voilà voilou MAJ de cette démo
quicky24
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 9 nov. 2004 à 20:04
c'est pour ainsi dire une description du contenu de la DLL qui permet au compilateur de TON programme de savoir quelles fonctions sont définies (et comment) dans la DLL. cela permet au compilo de comprendre qu'il ne dois pas chercher gluLookAt(...) dans ton code à toi: c'est dans la DLL, et ce sera appelé dynamiquement au Run Time.
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 9 nov. 2004 à 19:15
qd tu crées une dll comme les concepteurs d'openGL on bien du le faire ;) , le compilateur crée un fichier .dll (!!!) et un fichier .lib ou .a qui est plus ou moins un header précompilé; en gros t'en a besoin sinon le .h de la dll fera référence a des fonction qui de seront implémentées nulle part
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 9 nov. 2004 à 07:54
glu ce sont les GL Utilities, ça te permet de faire des gluOrtho, gluLookAt etc... (pas sur pr ortho). c'est très usité.
glaux est une VIEILLE librairie de gestion de textures notamment. je la déteste perso... Nehe s'en sert.
screamX
Messages postés14Date d'inscriptionlundi 8 novembre 2004StatutMembreDernière intervention23 décembre 2004 9 nov. 2004 à 07:19
Arnaud>>ben il compile...en rajoutant include de gl/gl.h...je link avec gult.lib et gult32.lib et opengl32.lib
mais ca y est : y a une fonction "gluPerspective(pcv,rapport,devant,derriere);" mais ca c'est pas du glut ?? ni de l'openGL ?? et moi je crois que je n'ai pas de glu.lib ...
AAAAAAH j'ai trouvé des lib libglu32.a et libglaux.a et avec ça s'a link c'est quoi c'est lib ??
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 8 nov. 2004 à 23:37
kirua: pour dev c++ je sé plus j'ai plus l'habitude, mais VC++, lorsque tu déclares une fonction sans type de retour, te met un warning mais compie qd meme sans erreurs en te disant qu'il a compris que le type était void. maintenant, pour dev...Sinon, tu es d'accord avec moi sur tout ce que j'ai dit?
ScreamX: c'et pas un .exe, c'est un .scr (meme si ca change rien dans le fond)
c'est zarbi ton truc...le prog fourni dans la source marche?
screamX
Messages postés14Date d'inscriptionlundi 8 novembre 2004StatutMembreDernière intervention23 décembre 2004 8 nov. 2004 à 23:03
euh moi c'est bizzar...
quand j'execute le .exe tous fonctionnent mais quand je me le compile : lors de l'execution il fait "OPENGL.dll introuvable" le boulet ! j'ai opengl32.dll !! ca suffit pas ?
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 8 nov. 2004 à 22:39
"return 0: étonnant que le compilo ne gueule pas, le type de main() est void et tu retournes un int"
hum hum. si le compilo devait gueuler, ce serait plutôt sur le fait que main soit déclaré void!! main en C++ est TJS de type int, sinon t'es pas ANSI (ou ISO, je m'y perds ds ces standards...)
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 8 nov. 2004 à 20:23
hum en lisant le code je vois qd meme plein de problemes:
void Texture(...): tu n'utilises pas de textures!
e+=2 : tu utilises le timer de glut, mais tu ne passes pas la valeur de ce timer a tes fonctions, cee qui fait que le timer ne sert a rien
glNewList(2,GL_COMPILE_AND_EXECUTE): tu crées une liste a chaque frame sans jamais les supprimer. une seule fois suffit (sinon ca servirait a rien!)
glutSwapBuffers(); glutPostRedisplay(): etonnant...pour moi on utilise soit l'un soit l'autre pas les deux...
void Touches(): a quoi ca sert d'avoir 2 fonctions pour le clavier? la premiere fait tout et celle-la rien...
void Temps(int valeur)
{
valeur = 60;
}: je ne me souviens plus comment marche le timer de glut mais a mon avis, ca ca sert a rien...
return 0: étonnant que le compilo ne gueule pas, le type de main() est void et tu retournes un int
et puis t'as une série de defines en commentaires qu'il sertai bon de virer dans la version que tu postes...
hop,hop, une maj...
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 8 nov. 2004 à 16:30
c'est pour ça Arnaud que j'ai besoin de ce code eh oui!
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 7 nov. 2004 à 19:47
UN TIMER!!!!
c'est bien comme ca mais j'ai du ouvrir 4 fois le programme (en meme temps) pour avois un fps correct
mais sinon cette source est super pour les débutants. a quand les vertex normals? :)
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 7 nov. 2004 à 19:18
slt je viens de mettre à jour
@++
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 5 nov. 2004 à 18:11
bah le code est court, tu peux pas t'imaginer ca que ca fait?
mais perso je trouve aussi qu'on devrait tjs mettre des sources compilables...
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 5 nov. 2004 à 13:07
salut, j'aimerais bien tester ton app... mais g pas la possibilité de compiler le code source... pourrais-tu mettre l'exe avec le zip stp?
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 3 nov. 2004 à 20:57
Arnaud tu peux m'indiquer un code source pour le fps ou alors un site oû il y a un code sans win32.
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 3 nov. 2004 à 17:02
rien de plus simple.
(j'exagere ;) )
tu calcules la différence de temps qu'il y a entre 2 frames (chaque frame, pas une seule fois!), et tu passes ca comme argument a chaque fonction.
pour le FPS, ben ya qu'a compter combien t'as affiché en 1 sec (!)
pour afficher, le plus simple c'est dee le mettre dasn la bare de titre, mais gare a la chute du fps!
sion, direction nehe ou digiben.
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 3 nov. 2004 à 15:32
slt
dizzy> j'ai DevC++ 4.9.7.0 comme IDE.
Arnaud16022> je ne connais pas tout l'OpenGL non plus.
Qui sait afficher les FPS et mettre à la meme vitesse
à tous les ordis?
quicky24
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 1 nov. 2004 à 21:24
ou encore, dans le case 'b'
if (glIsEnabled(GL_FOG)){...}
else{...}
le c++ est plein de ressources ! (ben c'est pour ca qu'on l'utilise, non? :) )
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 1 nov. 2004 à 20:31
Sinon pour enlever le brouillard suffit de rajouter:
case 'n':
glDisable(GL_FOG);
break;
dans le switch(key)
cs_dizzy
Messages postés5Date d'inscriptionsamedi 30 octobre 2004StatutMembreDernière intervention 1 novembre 2004 1 nov. 2004 à 18:55
problème : il y a des erreurs dans ta demo.
Sinon je te demande avec quel compilateur tu as compilé ce prog.
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 1 nov. 2004 à 12:52
slt à tous,
pour bien linker ma source il faut mettre:
-lopengl32 -lglu32 "chemin de la lib jusqu'à libglu32.a"
-lglut32 "pareil pour libglut32.a" et pis voilà ou alors je vous mets le Dev projet.
Merci de vos commentaires mais pour le brouillard j'ai mis glDisable ce qui désactive le brouillard :-)
quicky24
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 31 oct. 2004 à 22:50
woups dsl ya gourrancec c'est pas des quadrique...
glutSolidCube...
ca aurait pu...
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 31 oct. 2004 à 22:49
pourquoi tu rajoutes glut?????????
dletozeun -> "un truc pas compliqué et court " : c'est la cas de le dire...
Par contre, la source est suffisamment courte pour voir qu'il a bel et bien du brouillard... touche 'b'. d'ailleurs, une fois qu'il est mis on ne peut plus l'enlever :(
mais je suis d'accord avec toi, cette source peut etre utile aux débutants, mais dans ce cas faut bourrer de commentaires.
ya une question dans le forum sur les quadrique (hein funto :) )ca pourrait aider
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 31 oct. 2004 à 13:51
-l... n'est pas specifique a devcpp, c'est pour dire au linker gcc (ld) d'ajouter lle binaire correspondant
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 31 oct. 2004 à 13:46
oui mais dasn le dossier lib de devcpp ils sont pas ecrit comme ca
Et puis -lopengl32 est mis par defaut en creant un nouveau projet openGL sous devcpp
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 31 oct. 2004 à 12:44
sous Dev-C++ on a coutume de remplacer 'lib' par l et de ne pas mettre l'extension, puis de mettre un - devant chaque lib, comme ça:
-lglaux
-lglu32
-lglut32
-lglut
et puis faut pas oublier:
-lopengl32
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 30 oct. 2004 à 23:47
Gendal> pour faire mercher son prog : tu créé un nouveau projet avec devcpp tu supprime la sourcemise par defaut, puis tu rajoutes la source de quicky24
Pour linker tu mets(a la barbare) ;) :
libglaux.a
libglu32.a
libglut32.a
libglut.a
avec ca t'es sur de pas avoir de linker error!!!
et la dll dans le zip faut la renomer glut.dll a la place de glut32.dll ^^
voila
Quicky24> ta demo c'es seulement un cube qui tourne autour d'une sphere? je pensais qu'il y aurait du brouillard vu ce qu'il a dans ta source...
En tt cas ta source est une bonne idée ! C'est bien un truc pas compliqué et court pour debuter en openGL
Gendal67
Messages postés627Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention24 juillet 20112 30 oct. 2004 à 16:15
Euh, dsl, j'arrive pas a compiler...et les DLL ne m'aime pas ...(ou en tt cas, elle n'aime pas Dev-C++) :((, tu linkes cmt ton truc ? J'ai hate de voir ce que c'est! Surtout que je n'y connais rien en Open GL mais j'adore voir les autres faire des merveilles :-))
Allez, a++
Gendal67, à votre service !
Quicky24
Messages postés29Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention15 avril 2005 30 oct. 2004 à 14:40
Bon bah j'éspère que vous allez aimer, je débute en OpenGL alors soyez pas trop durs.
13 mars 2005 à 12:15
C++ built-in type `
wchar_t'
tu n'as qu'à commenter la ligne de glut.h qui redéfinit wchar_t. ça doit être autour de la ligne 50.
Temps.h:10: error: `cout' undeclared (first use this
function)
soit tu n'as pas inclut , soit tu n'as pas mis le using namespace std; mais les using ds les en-têtes sont déconseillés (d'ailleurs comment tu peux avoir du cout dans un .h O_O_O). en tt cas, tu dois remplacer les cout, cin, string, ... par std::... (std::cout par exemple)
13 mars 2005 à 02:19
vous me dites mais ya toujours un probleme :
Compilateur: Default compiler
Building Makefile: "C:\Dev-Cpp\project\open_gl\Makefile.win"
Exécution de make...
make.exe -f "C:\Dev-Cpp\project\open_gl\Makefile.win"
all
g++.exe -c demo.cpp -o demo.o -I"C:/Dev-Cpp/include/c++/3.3.1" -I"C:/Dev-Cpp/include/c++/3.3.1/mingw32" -I"C:/Dev-Cpp/include/c++/3.3.1/backward" -I"C:/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/include/ddk" -I"C:/Dev-Cpp/include/GL" -I"C:/Dev-Cpp/include/GTK" -I"C:/Dev-Cpp/include/sys"
In file included from Demo.h:1,
from demo.cpp:1:
C:/Dev-Cpp/include/GL/glut.h:50: error: redeclaration of
C++ built-in type `
wchar_t'
In file included from demo.cpp:2:
Temps.h: In function `void Temps()':
Temps.h:10: error: `cout' undeclared (first use this
function)
Temps.h:10: error: (Each undeclared identifier is reported
only once for each
function it appears in.)
make.exe: *** [demo.o] Error 1
Exécution terminée
merci encore une fois pour votre aide!
13 mars 2005 à 01:17
les en-têtes du SDK (pas skd) dans le répertoire include/GL et les .a dans le répertoire lib, pas lib/GL.
oublie pas de lier les libs dans les options du projet.
12 mars 2005 à 22:20
glut.h: no such file
simplement, t'as pas installé de skd de openGL, il est entre autres sur www.belzel.free.fr, faudra mettre les fichiers . h dans le repertoire include/opengl de DevC++, les .lib dans le rep libraries/opengl
ca devrait marcher
++
Arnaud
12 mars 2005 à 21:36
message en entier donc voila ce que le log du compil me
donne comme info et je pense que c'est un message d'
erreur.
Merci pour le temps que vous passez a m'aider!!!
Compilateur: Default compiler
Building Makefile: "C:\Dev-Cpp\project\open_gl\Makefile.win"
Exécution de make...
make.exe -f "C:\Dev-Cpp\project\open_gl\Makefile.win"
all
g++.exe -c demo.cpp -o demo.o
-I"C:/Dev-Cpp/include/c++/3.3.1"
-I"C:/Dev-Cpp/include/c++/3.3.1/mingw32"
-I"C:/Dev-Cpp/include/c++/3.3.1/backward"
-I"C:/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include"
-I"C:/Dev-Cpp/include"
In file included from demo.cpp:1:
Demo.h:1:21: GL/glut.h: No such file or directory
In file included from demo.cpp:1:
Demo.h:7: error: syntax error before `=' token
In file included from demo.cpp:2:
Temps.h: In function `void Temps()':
Temps.h:10: error: `cout' undeclared (first use this
function)
Temps.h:10: error: (Each undeclared identifier is reported
only once for each
function it appears in.)
demo.cpp: In function `void Activations()':
demo.cpp:6: error: `GL_DEPTH_TEST' undeclared (first use
this function)
demo.cpp:6: error: `glEnable' undeclared (first use this
function)
demo.cpp:7: error: `GL_LESS' undeclared (first use this
function)
demo.cpp:7: error: `glDepthFunc' undeclared (first use
this function)
demo.cpp:8: error: `GL_FOG' undeclared (first use this
function)
demo.cpp:9: error: `GL_LIGHTING' undeclared (first use
this function)
demo.cpp:10: error: `GL_LIGHT0' undeclared (first use this
function)
demo.cpp:11: error: `GL_COLOR_MATERIAL' undeclared
(first use this function)
demo.cpp:12: error: `GL_SRC_ALPHA' undeclared (first
use this function)
demo.cpp:12: error: `GL_ONE' undeclared (first use this
function)
demo.cpp:12: error: `glBlendFunc' undeclared (first use
this function)
demo.cpp: At global scope:
demo.cpp:15: error: syntax error before `=' token
demo.cpp: In function `void Initialisation(int, int)':
demo.cpp:19: error: `glViewport' undeclared (first use this
function)
demo.cpp:20: error: `GL_PROJECTION' undeclared (first use this function)
demo.cpp:20: error: `glMatrixMode' undeclared (first use
this function)
demo.cpp:21: error: `glLoadIdentity' undeclared (first use
this function)
demo.cpp:22: error: `pcv' undeclared (first use this
function)
demo.cpp:22: error: `rapport' undeclared (first use this
function)
demo.cpp:22: error: `devant' undeclared (first use this
function)
demo.cpp:22: error: `derriere' undeclared (first use this
function)
demo.cpp:22: error: `gluPerspective' undeclared (first use
this function)
demo.cpp:23: error: `GL_MODELVIEW' undeclared (first
use this function)
demo.cpp: In function `void Brouillard()':
demo.cpp:29: error: `GL_FOG_COLOR' undeclared (first
use this function)
demo.cpp:29: error: `glFogfv' undeclared (first use this
function)
demo.cpp:30: error: `GL_FOG_MODE' undeclared (first use
this function)
demo.cpp:30: error: `GL_EXP2' undeclared (first use this
function)
demo.cpp:30: error: `glFogi' undeclared (first use this
function)
demo.cpp:31: error: `GL_FOG_DENSITY' undeclared (first
use this function)
demo.cpp:31: error: `glFogf' undeclared (first use this
function)
demo.cpp:32: error: `GL_FOG_START' undeclared (first use
this function)
demo.cpp:33: error: `GL_FOG_END' undeclared (first use
this function)
demo.cpp: In function `void Demo()':
demo.cpp:38: error: `GL_COLOR_BUFFER_BIT' undeclared
(first use this function)
demo.cpp:38: error: `GL_DEPTH_BUFFER_BIT' undeclared
(first use this function)
demo.cpp:38: error: `glClear' undeclared (first use this
function)
demo.cpp:39: error: `glClearColor' undeclared (first use
this function)
demo.cpp:40: error: `glMatrixMode' undeclared (first use
this function)
demo.cpp:44: error: `glPushMatrix' undeclared (first use
this function)
demo.cpp:45: error: `glTranslated' undeclared (first use
this function)
demo.cpp:47: error: `glColor3f' undeclared (first use this
function)
demo.cpp:48: error: `m' undeclared (first use this
function)
demo.cpp:48: error: `p' undeclared (first use this function)
demo.cpp:48: error: `glutSolidSphere' undeclared (first use this function)
demo.cpp:49: error: `glPopMatrix' undeclared (first use this function)
demo.cpp:54: error: `glRotated' undeclared (first use this function)
demo.cpp:82: error: `glutSwapBuffers' undeclared (first use this function)
demo.cpp:83: error: `glutPostRedisplay' undeclared (first use this function)
demo.cpp: In function `void Clavier(unsigned char, int, int)':
demo.cpp:90: error: `glEnable' undeclared (first use this function)
demo.cpp:92: error: `glDisable' undeclared (first use this function)
demo.cpp:98: error: `GL_BLEND' undeclared (first use this function)
demo.cpp: In function `void Touches(int, int, int)':
demo.cpp:110: error: `GLUT_KEY_DOWN' undeclared (first use this function)
demo.cpp:114: error: `GLUT_KEY_UP' undeclared (first use this function)
demo.cpp: In function `int main()':
demo.cpp:122: error: `glutInitWindowPosition' undeclared (first use this
function)
demo.cpp:123: error: `glutInitWindowSize' undeclared (first use this function)
demo.cpp:124: error: `GLUT_RGBA' undeclared (first use this function)
demo.cpp:124: error: `GLUT_DOUBLE' undeclared (first use this function)
demo.cpp:124: error: `GLUT_DEPTH' undeclared (first use this function)
demo.cpp:124: error: `glutInitDisplayMode' undeclared (first use this function)
demo.cpp:126: error: `glutCreateWindow' undeclared (first use this function)
demo.cpp:128: error: `glutReshapeFunc' undeclared (first use this function)
demo.cpp:131: error: `glutKeyboardFunc' undeclared (first use this function)
demo.cpp:132: error: `glutSpecialFunc' undeclared (first use this function)
demo.cpp:133: error: `glutDisplayFunc' undeclared (first use this function)
demo.cpp:135: error: `glutMainLoop' undeclared (first use this function)
make.exe: *** [demo.o] Error 1
Exécution terminée
11 mars 2005 à 22:48
11 mars 2005 à 22:16
Il ne semble pas se plaindre dasn l'extrait que nous montre...donc a mon avis il faut que tu sois un plus plus precis
11 mars 2005 à 00:37
Compilateur: Default compiler
Building Makefile: "C:\Dev-Cpp\project\open_gl\Makefile.win"
Exécution de make...
make.exe -f "C:\Dev-Cpp\project\open_gl\Makefile.win" all
g++.exe -c demo.cpp -o demo.o -I"C:/Dev-Cpp/include/c++/3.3.1" -I"C:/Dev-Cpp/include/c++/3.3.1/mingw32" -I"C:/Dev-Cpp/include/c++/3.3.1/backward" -I"C:/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include" -I"C:/Dev-Cpp/include"
9 déc. 2004 à 23:34
google, premier lien en tappant glut elapsed time, faut pas pousser qd même hein :)
9 déc. 2004 à 20:46
quicky24
8 déc. 2004 à 21:37
quicky24
8 déc. 2004 à 17:55
8 déc. 2004 à 17:48
8 déc. 2004 à 17:28
"non mais ce que je veux c'est que ça soit 100% OpenGL ou GLUT et non SDL ou Win32."
alors ben voilà, tu l'as en C++ standard.
8 déc. 2004 à 17:18
8 déc. 2004 à 17:15
#include <ctime>
#include
#include <cstdlib>
int main()
{
unsigned int tps = clock();
System("pause");
cout << "Temps écoulé: " << ((clock() - tps)/CLK_TCK) << " secondes." << endl;
System("pause");
return 0;
}
je sais plus si c'est System ou system...
ça enregistre le temps au démarrage du programme dans tps, demande d'appuyer sur enter, et affiche le temps qui s'est écoulé entre le démarrage du programme et l'appui sur enter.
8 déc. 2004 à 16:19
7 déc. 2004 à 23:44
CLK_TCK vaut habituellement 1000 (ce qui veut dire qu'il y a 1000 ticks par seconde, càd qu'un tick vaut 1 ms)
7 déc. 2004 à 22:17
quicky24
1 déc. 2004 à 18:06
1 déc. 2004 à 17:25
quicky24
28 nov. 2004 à 15:52
enfin bon.
void CalculateFrameRate()
{
currentTime = SDL_GetTicks() * 0.001f;
FPS++;
TPF=currentTime - lastFrameTime ;
lastFrameTime=currentTime;
if(currentTime - lastTime>= 1.0f )
{
lastTime = currentTime;
FPStoDisp=FPS;
FPS = 0.0;
}
}
28 nov. 2004 à 15:42
quicky24
20 nov. 2004 à 22:04
pour afficher le fps, je te déconseille fortement la methode de digiben: l'afficher dans le titre de l'application, ca fait chuter le fps de facon impressionnante...
mieux vaut l'afficher a l'écran, voir les liens sur ma source (spheremapped outlined fonts), c'est expliqué.
le principe du fps c'est que tu mesures le temps entre chaque frame avec time() (ou mieux, cette fonction est nulle mais pour ca ca suffit) . tu passes ce delta_Temps a toutes tes fonctions, et tu incrémentes tes compteurs avec un multiple de cette valeur.
pas tres clair tout ca? un exemple:
long tps=0.0f,lasttps=0.0f;
main(){
while(1){
fps();
dessine(deltaT);
}}
fps(){
tps=time();
deltaT+=tps-lasttps;
frames++;
lasttps=tps;
}
dessine(deltaT){
counter+=deltaT*3.5;
glRotatef(counter,0,1,0);
Draw();
}
et voila pour le principe des fps, pour l'aficher cf les sources de digiben.
20 nov. 2004 à 20:43
Merci
Quichy24
18 nov. 2004 à 20:24
quelle est l'utilité de ca:
void Touches(int key,int x,int y)
{switch(key){
case GLUT_KEY_DOWN: break;
case GLUT_KEY_UP: break;}}
??????????????????????????
rien hein?
toujours pas de timer
Temps() ne sert a rien
...mais sinon c'est bien mieux!!!!
18 nov. 2004 à 16:21
quicky24
9 nov. 2004 à 20:04
9 nov. 2004 à 19:15
9 nov. 2004 à 07:54
glaux est une VIEILLE librairie de gestion de textures notamment. je la déteste perso... Nehe s'en sert.
9 nov. 2004 à 07:19
mais ca y est : y a une fonction "gluPerspective(pcv,rapport,devant,derriere);" mais ca c'est pas du glut ?? ni de l'openGL ?? et moi je crois que je n'ai pas de glu.lib ...
AAAAAAH j'ai trouvé des lib libglu32.a et libglaux.a et avec ça s'a link c'est quoi c'est lib ??
8 nov. 2004 à 23:37
ScreamX: c'et pas un .exe, c'est un .scr (meme si ca change rien dans le fond)
c'est zarbi ton truc...le prog fourni dans la source marche?
8 nov. 2004 à 23:03
quand j'execute le .exe tous fonctionnent mais quand je me le compile : lors de l'execution il fait "OPENGL.dll introuvable" le boulet ! j'ai opengl32.dll !! ca suffit pas ?
8 nov. 2004 à 22:39
hum hum. si le compilo devait gueuler, ce serait plutôt sur le fait que main soit déclaré void!! main en C++ est TJS de type int, sinon t'es pas ANSI (ou ISO, je m'y perds ds ces standards...)
8 nov. 2004 à 20:23
void Texture(...): tu n'utilises pas de textures!
e+=2 : tu utilises le timer de glut, mais tu ne passes pas la valeur de ce timer a tes fonctions, cee qui fait que le timer ne sert a rien
glNewList(2,GL_COMPILE_AND_EXECUTE): tu crées une liste a chaque frame sans jamais les supprimer. une seule fois suffit (sinon ca servirait a rien!)
glutSwapBuffers(); glutPostRedisplay(): etonnant...pour moi on utilise soit l'un soit l'autre pas les deux...
void Touches(): a quoi ca sert d'avoir 2 fonctions pour le clavier? la premiere fait tout et celle-la rien...
void Temps(int valeur)
{
valeur = 60;
}: je ne me souviens plus comment marche le timer de glut mais a mon avis, ca ca sert a rien...
return 0: étonnant que le compilo ne gueule pas, le type de main() est void et tu retournes un int
et puis t'as une série de defines en commentaires qu'il sertai bon de virer dans la version que tu postes...
hop,hop, une maj...
8 nov. 2004 à 16:30
7 nov. 2004 à 19:47
c'est bien comme ca mais j'ai du ouvrir 4 fois le programme (en meme temps) pour avois un fps correct
mais sinon cette source est super pour les débutants. a quand les vertex normals? :)
7 nov. 2004 à 19:18
@++
5 nov. 2004 à 18:11
mais perso je trouve aussi qu'on devrait tjs mettre des sources compilables...
5 nov. 2004 à 13:07
3 nov. 2004 à 20:57
3 nov. 2004 à 17:02
(j'exagere ;) )
tu calcules la différence de temps qu'il y a entre 2 frames (chaque frame, pas une seule fois!), et tu passes ca comme argument a chaque fonction.
pour le FPS, ben ya qu'a compter combien t'as affiché en 1 sec (!)
pour afficher, le plus simple c'est dee le mettre dasn la bare de titre, mais gare a la chute du fps!
sion, direction nehe ou digiben.
3 nov. 2004 à 15:32
dizzy> j'ai DevC++ 4.9.7.0 comme IDE.
Arnaud16022> je ne connais pas tout l'OpenGL non plus.
Qui sait afficher les FPS et mettre à la meme vitesse
à tous les ordis?
quicky24
1 nov. 2004 à 21:24
if (glIsEnabled(GL_FOG)){...}
else{...}
le c++ est plein de ressources ! (ben c'est pour ca qu'on l'utilise, non? :) )
1 nov. 2004 à 20:31
case 'n':
glDisable(GL_FOG);
break;
dans le switch(key)
1 nov. 2004 à 18:55
Sinon je te demande avec quel compilateur tu as compilé ce prog.
1 nov. 2004 à 12:52
pour bien linker ma source il faut mettre:
-lopengl32 -lglu32 "chemin de la lib jusqu'à libglu32.a"
-lglut32 "pareil pour libglut32.a" et pis voilà ou alors je vous mets le Dev projet.
Merci de vos commentaires mais pour le brouillard j'ai mis glDisable ce qui désactive le brouillard :-)
quicky24
31 oct. 2004 à 22:50
glutSolidCube...
ca aurait pu...
31 oct. 2004 à 22:49
dletozeun -> "un truc pas compliqué et court " : c'est la cas de le dire...
Par contre, la source est suffisamment courte pour voir qu'il a bel et bien du brouillard... touche 'b'. d'ailleurs, une fois qu'il est mis on ne peut plus l'enlever :(
mais je suis d'accord avec toi, cette source peut etre utile aux débutants, mais dans ce cas faut bourrer de commentaires.
ya une question dans le forum sur les quadrique (hein funto :) )ca pourrait aider
31 oct. 2004 à 13:51
31 oct. 2004 à 13:46
Et puis -lopengl32 est mis par defaut en creant un nouveau projet openGL sous devcpp
31 oct. 2004 à 12:44
-lglaux
-lglu32
-lglut32
-lglut
et puis faut pas oublier:
-lopengl32
30 oct. 2004 à 23:47
Pour linker tu mets(a la barbare) ;) :
libglaux.a
libglu32.a
libglut32.a
libglut.a
avec ca t'es sur de pas avoir de linker error!!!
et la dll dans le zip faut la renomer glut.dll a la place de glut32.dll ^^
voila
Quicky24> ta demo c'es seulement un cube qui tourne autour d'une sphere? je pensais qu'il y aurait du brouillard vu ce qu'il a dans ta source...
En tt cas ta source est une bonne idée ! C'est bien un truc pas compliqué et court pour debuter en openGL
30 oct. 2004 à 16:15
Allez, a++
Gendal67, à votre service !
30 oct. 2004 à 14:40