CRÉATION DE PETITS PERSONNAGES(OPENGL/SDL)

Messages postés
230
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 août 2005
- - Dernière réponse : XCat
Messages postés
7
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
19 décembre 2004
- 19 déc. 2004 à 14:51
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/28169-creation-de-petits-personnages-opengl-sdl

XCat
Messages postés
7
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
19 décembre 2004
-
ton tuto est bien expliqué?mais je demande si ca marche avec un PC.....?
cs_theidiot
Messages postés
56
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
27 août 2005
-
A oui une dernière chose si tu change la configuration en enlevant Fullscreen (ce qui permet d'avoir un mode plein écran )il est possible que le carré de selection sois inverser. Pour l'adapter il faut changer un peu plus de chose dans selection.cpp et unite.cpp mais ce serait trop long à expliquer...
cs_theidiot
Messages postés
56
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
27 août 2005
-
Tu veux dire le system de fenetrage de la SDL et OpenGL ... c'est une question de rapport tous simplement. Fait apparaitre deux points dans la restitution OpenGL (une a x=0.0 y=0.0 puis une autre a x=10.0 et
0.0 par exemple et note que la distance GL est de 10.0)

Tu m'es ceci dans SDL_MOUSEBUTTONDOWN qui ce trouve dans scene.cpp:

cout<<event.button.x<<" "<<event.button.y<<endl;

pour faire apparaitre les coordonner de la souris une fois cliquer sur ta
fenetre dos. Ensuite compiler et faire marcher l'application. Cliquer exatement sur les points que tu vient de positionner et prendre note des deux coordonnés SDL

Va dans selection.h

et note les coordonné des points déquivalence du centre d'origine de la GL dans la
constante CENTRE_ECRANX et CENTRE_ECRANY et calcul la distance
des deux points et marque le dans la DISTANCE_ECRAN

ceci permet de faire un lien d'equivalence entre les coordonné pixelisé de la SDL et les coordonnées d'OpenGL.

voila j'espère que les explications sont plus claire.
Zazour
Messages postés
120
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
14 janvier 2006
-
sinon,bien ta source,
sauf que j'ai pas trop compris ton explication sur la transposition des coordonnées fenêtre windows et SDL.la sélection n'apparait pas au niveau de la souris chez moi (je suis en 1280*1024).
cs_theidiot
Messages postés
56
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
27 août 2005
-
Fais un petit tour dans www.blender3d.org tu trouveras tous ce qu'il te faut. (de plus constatera que blender est le seul modeleur 3d professionnel gratuit!!!)
asmanur
Messages postés
230
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 août 2005
-
Tu m'as l'air assez bon en modelage/animation moi je débute lol et c vrai que des loaders pour des fichiers 3D me serait + que très utile.
Tu l'as eu ou blender? pour l'instant je travaille sur gmax mais on m'a dit que son format n'était pas très utile
cs_theidiot
Messages postés
56
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
27 août 2005
-
«sino, tu pourrais améliorer pour que ca devienne un vrai moteur 3D essaye de charger  des fichiers 3D (*.ms3D *.3ds,*.ase,....).»

Je ne connais malheureusement pas les normes ms3D, 3ds, ase dont tu me parle mais c'est vrai que je devrais travaille sur un modeleur 3D qui restitue des fichiers donnés 3D(cela me sauverais du temps et se n'est mince a faire de le faire a la main!!!). Je suis d'ailleur en train de d'échifrer le fonctionnement de 'blender'(un modeleur 3D) et dechiffre les fichiers constituants n'est pas une mince a faire(ainsi que manipuler le logiciel comme tel!!!).

«et aussi si il me reste un minimum de connaissance en animation/graphisme pour chaque bone tu as un angle comme pour ton personnage»

Tu veux parler s'en doute de la struture complexe du mouvement du
personnage. Malheureusement, pour une certaine souplesse pour le mouvement du personnage il doit en avoir enorment!!!(meme dans les modeleurs 3D ont si perd!).

oubliez ma question,j'ai trouvé.
«trés bien comme source,mais pourquoi mixte tu :
#include <stdio.h>
#include <stdlib.h>
#include »

c'est encore mes mauvaises habitudes du c, désolé.

«seconde question:
pourquoi utiliser SDL? quel apport par rapport a GLUT par exemple?»

Comme je l'ai décrit dans mes propos avant GLUT n'est pas assez complet pour moi. La SDL permet plus que simple affichage: il peut lire les fichiers wavs, lire différent fichier image, faire une gestion reseau, gérer des fonctions threads, lire des fichiers de police postscript et plein d'autre option disponible...
Enfin la SDL est beaucoup plus adapté pour faire des jeux que la GLUT qui GLUT, selon moi, est plus axer sur l'apprentissage d'utilisation d'openGL(Cela n'empêche toufois pas de faire certaine application avec la GLUT )

voila j'espère avoir répondu à toute tes questions
Zazour
Messages postés
120
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
14 janvier 2006
-
oubliez ma question,j'ai trouvé.
trés bien comme source,mais pourquoi mixte tu :
#include <stdio.h>
#include <stdlib.h>
#include

et non
#include <cstdio>
#include <cstdlib>
#include

seconde question:
pourquoi utiliser SDL? quel apport par rapport a GLUT par exemple?
Zazour
Messages postés
120
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
14 janvier 2006
-
en liant avec -lSDL et -lSDLmain -lopengl32 -lglu32,il ne trouve pas le point d'entrée:
erreur
[Linker error] undefined reference to `WinMain@16'

pourquoi svp ?
asmanur
Messages postés
230
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 août 2005
-
Enfin j'essaye d'eviter glut en ce moment parce que c'est bien au début mais j'essaye de me debrouiller en API maintenant
sino, tu pourrais améliorer pour que ca devienne un vrai moteur 3D essaye de charger des fichiers 3D (*.ms3D *.3ds,*.ase,....).
et aussi si il me reste un minimum de connaissance en animation/graphisme pour chaque bone tu as un angle comme pour ton personnage ou yen avait une tonne et enfin faire un fichier *. anim par ex ou tu définiras des constantes ACTION

Enfin ca prend pas mal de tps et c assez chaud mais si tu a prévu d'améliorer ton moteur 3D essaye ca
cs_theidiot
Messages postés
56
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
27 août 2005
-
Oui glut est compatible sur n'importe quel systeme mais la SDL repond plus a mes besoins parce qu'il est plus complets.

Tu peux l'adapter avec GLUT toi meme ce n'est pas compliquer mais
les fichiers 3dmath.h, 3dmath.cpp, CPersonnage.h, CPersonnage.cpp,
Unite.h, unite.cpp, selection.h, et selection.cpp son primordial pour faire le personnage et la selection. Le reste si tu as un minimum de connaissance dans OpenGL ainsi que glut ne pose aucun probleme d'adaptation.
asmanur
Messages postés
230
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 août 2005
-
Non, le pc sur lequel je "surfe" n'as pas de compilateur de plus faut que je change le fenetrage enfin bref j'ai la flemme de faire tt ca je frais ca peut etre demain
en tt cas la screenshot est pas mal
a+
PS : pk t'as pas pris glut (si il est compatible mac)
cs_theidiot
Messages postés
56
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
27 août 2005
-
Est-ce que tu as un mac?
Parce que je n'est qu'une application pour mac malheureusement...
Je n'ai pas encore de pc sous la main...
Mais si c'est seulement la bibliotheque SDL qui te manque fait un petit
tour dans www.libsdl.org tu trouvera les libs qu'il te faut et c'est gratuit.
asmanur
Messages postés
230
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 août 2005
-
Salut,
ton projet a l'air interressant (j'ai regardé les sources) tu pourrais mettre un éxécutable n'ayant pas SDL +SDL.dll
Merci a+