CAPTAINPARTGL - MOTEUR DE PARTICULES OPENGL/GLUT - BORLAND C++ 5.5

basted Messages postés 55 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 11 mai 2008 - 25 janv. 2004 à 12:10
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 17 mars 2005 à 20:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19730-captainpartgl-moteur-de-particules-opengl-glut-borland-c-5-5

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
17 mars 2005 à 20:45
Les warnings t'indiquent seulement que certaines variables ne sont jamais utilisées et qu'elles sont donc a priori inutiles, mais parfois on met des paramètres en plus pour les évolutions futures, et le compilo se croit plus intelligent, c'est tout ;) tu t'en fiches.

pour ton erreur, tu dois avoir qq part une option avec ton lieur pour lui dire de lier GLUT et OpenGL. Sous windows, tu dois aussi inclure Windows.h je pense, et lier gdi++ et des machins ... armf, fais une recherche sur l'erreur du winmain, je sais que pour dev c++ tu trouves plein d'explications, BCC je gère pas trop, dsl :/
recherchelesavoir Messages postés 13 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 6 juin 2005
17 mars 2005 à 19:28
Chez moi cela ne veut pas compiler et j'ai encore l'erreur 'WinMain', la plus part des sources de se site me donne la même erreur,je n'arrive pas a corriger cela.
Et pourtant dans certaine source il y a l'instruction << #pragma argsused >>

voila ce que j'ai:

>bcc32 -tW CaptainPartGL.cpp

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
CaptainPartGL.cpp:
Warning W8057 moteurpart.cpp 34: Parameter 'value' is never used in function tim
er(int)
Warning W8057 CaptainPartGL.cpp 27: Parameter 'x' is never used in function Gest
ionClavier(unsigned char,int,int)
Warning W8057 CaptainPartGL.cpp 27: Parameter 'y' is never used in function Gest
ionClavier(unsigned char,int,int)
Warning W8066 CaptainPartGL.cpp 35: Unreachable code in function GestionSpecial(
int,int,int)
Warning W8057 CaptainPartGL.cpp 43: Parameter 'x' is never used in function Gest
ionSpecial(int,int,int)
Warning W8057 CaptainPartGL.cpp 43: Parameter 'y' is never used in function Gest
ionSpecial(int,int,int)
Warning W8066 CaptainPartGL.cpp 49: Unreachable code in function GestionSpecialU
p(int,int,int)
Warning W8057 CaptainPartGL.cpp 57: Parameter 'x' is never used in function Gest
ionSpecialUp(int,int,int)
Warning W8057 CaptainPartGL.cpp 57: Parameter 'y' is never used in function Gest
ionSpecialUp(int,int,int)
Warning W8057 CaptainPartGL.cpp 135: Parameter 'envp' is never used in function
main(int,char * *,char * *)
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external 'WinMain' referenced from C:\BORLAND\BCC55\LIB\C0W32.
OBJ
cs_vincou Messages postés 1 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 16 juin 2004
16 juin 2004 à 10:38
Salut,

Franchement l'effet que tu as réalisé est super. J'ai voulu le réutiliser pour le mettre dans un petit jeu que je suis en train de faire. Mais j'ai un petit problème. La couleur qui est autour de la sphere n'est pas transparente, donc lorsqu'il y un décor derrière on voit qu'il s'agit d'un QUAD. Pourrais tu m'expliquer comment faire la couleur transparente sur la texture?

Je te remercie, et encore bravo pour cet exemple.

Vincou
cs_Palex Messages postés 31 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 16 juin 2013
13 mai 2004 à 09:29
salut,

tou dabord c kler c tres bien ce ke tu as fait par contre juste une kestion, pourkoi avoir fait ca en cpp?? parcke dans ton cade a part un new et un delete ki se balade et des true/fasle ya pas de CPP :s enfin rien ki fait penser a de l'objet.
jai remplacer le new par un malloc et delete par free, j'ai renommer tes fichier en .c jai compiler le tout avec un jolie makefile sur linux et ca marche tres bien.

sinon c tres bien, vu ke je doi faire un moteur de particule pour un jeu je vai surement essayer de comprendre comment fonctionne le tien pour avoir des bases et ensuite transformer tout ca en classe histoire de lutiliser partout simplement avec un new.
meric pour cette source continue
cs_Palex Messages postés 31 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 16 juin 2013
12 mai 2004 à 15:28
salut,

tou dabord c kler c tres bien ce ke tu as fait par contre juste une kestion, pourkoi avoir fait ca en cpp?? parcke dans ton cade a part un new et un delete ki se balade et des true/fasle ya pas de CPP :s enfin rien ki fait penser a de l'objet.
jai remplacer le new par un malloc et delete par free, j'ai renommer tes fichier en .c jai compiler le tout avec un jolie makefile sur linux et ca marche tres bien.

sinon c tres bien, vu ke je doi faire un moteur de particule pour un jeu je vai surement essayer de comprendre comment fonctionne le tien pour avoir des bases et ensuite transformer tout ca en classe histoire de lutiliser partout simplement avec un new.
meric pour cette source continue
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
25 janv. 2004 à 23:05
alors comme prévu, je lis le code source, le soir venu.

1) tu fais un #include pour un .cpp, c'est pas très propre :-/ généralement on met les déclarations dans un .h, on les inclut dans les deux .cpp (qui sont le programme et les implémentations de ce qui est déclaré dedans). alors évidemment il faut compiler les deux .cpp (ds le projo quoi)

2) dans void GestionSpecial() et GestionSpecialUp(), tu as une switch qui commence par break, sans case, c'est bizarre

3) tu utilises glTranslated mais tu lui passes des variables float et pas double, tu devrais utiliser glTranslatef

4) glLoadIdentity(); //on crée une nouvelle identity
glEnd(); //fin de l'identity
glEnd() c'est pour terminer un glBegin() qui sert à créer des polygones, j'ai jms vu glEnd() en regard d'une fct de matrice.

5) tu devrais écrire une classe pour tes vecteurs en 3D, ça clarifierait le code, et tu pourrais réutiliser ce bout de code (c'est ce que j'ai fait pour mes simulations en 2D, j'ai surchargé les opérateurs etc, et ça facilite vrmnt la vie!) j'ai posté ma classe sur ce site, mais elle gère les vecteurs 2D seulement, faudrait modifier un petit peu. puis y a pas les produits vectoriels, parce que je sais pas comment ça marche ^^ seulement les produits avec un scalaire

6) GenereTextureParticule() est-ce que c'est cette fct qui permet de donner un effet de dégradé progressif aux particules? j'aurais jamais imaginé faire comme ça, c'est ingénieux, bravo :-)

7) tu déclares cette fonction bool et tu retournes TRUE, je me trompe peut-être, mais il me semble que BOOL, TRUE et FALSE sont définis par typedef et bool, true et false sont des mots clefs du langage, donc je veillerais à utiliser l'un ou l'autre, mais pas un mélange.

8) moi, j'aurais vrmnt tt mis ds une classe, mais je suis né dans l'orienté objet... ;-)

9) tjs aussi impressionné, le résultat est superbe, vraiment :-) tu l'as écrit juste pour le fait, ou parce que tu envisages de faire un jeu en 3D ?
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
25 janv. 2004 à 13:37
absolument superbe, je dois lire ça ce soir :-) et chez moi quitter ne prend pas de temps, vriament super !
basted Messages postés 55 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 11 mai 2008
25 janv. 2004 à 12:10
Super chouette bravo !! Je vais regarder ton code de plus pres.

Par contre, quand je quit, ca met un temp foux
Rejoignez-nous