Les bibliothéques 3D

Résolu/Fermé
Utilisateur anonyme - 3 avril 2014 à 18:41
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 3 juin 2014 à 11:44
Bonjour,
j'ai déja posé cette même question mais personne n'a eu le coeur pour me répondre, alors, JE LA REPOSE !
j'ai comme qui dirait un petit souci !
malgré que c'est un peu long, mais S.V.P lisez tout.
j'ai passé toutes les vacances du printemps pour apprendre a programmer en C, et j'y suis parvenu, mais hélas je ne peux faire que des jeux de console (un truc démodé, quoi). après, je me suis attaqué a une des bibliothèque les plus connues, je parle bien de la SDL. maintenant je peux créer des jeux en 2D !!
mais, voila le souci, je veux apprendre a créer des jeux en 3D (genre, des FPS (simple, bien sur)). j'ai d'abord cherché une bibliothèque, et j'ai trouvé la OpenGL, et la DirectX. puis, j'ai cherché des tutoriels, des livres...etc. mais le problème, c'est qu'il N'Y A PAS de tutoriels ni de livres (en tout les cas, pas pour débutants) !
alors ma question, en résumé, est: y a-t-il une bibliothèque que vous me conseillez d'utiliser ?
et y a-t-il des tutos pour cette bibliothèque ? (je préfére des .pdf si c'est possible)
tout cela en sachant que je ne suis qu'un débutant et j'y connais rien (sauf le langage C et la SDL).
P.S: j'ai trouvé un logiciel qui s'appelle "unity 3D", mais je ne sais pas si il permet de programmer. car l'intérêt, pour moi, c'est évidement de faire du codage, pas utiliser un logiciel qui fait tout le travail a ma place.
cordialement,
A voir également:

6 réponses

Utilisateur anonyme
3 avril 2014 à 19:18
Bonjour, tu peux voir du coté de Ogre ou Irrlicht, mais ces bibliothèques sont en C++ et non le C de base.

Tu t'attaques à un domaine fort complexe qui nécessite pas mal de connaissances préalables. Si tu précises donc que tu es un débutant, tu devras encore apprendre pas mal sur le domaine de la 3D comme par exemple les vecteurs, les textures etc etc.

Si tu veux aussi pour l'OpenGL il y a les tutos de NeHe qui sont une bonne base, mais tu verras bien vite que rien qu'un petit triangle qui bouge à l'écran en 3D c'est déjà quelques lignes de code.

Voici les liens :

http://irrlicht.sourceforge.net/
https://www.ogre3d.org/
http://nehe.gamedev.net/
1
Utilisateur anonyme
3 avril 2014 à 21:25
@polux31 : j'ai créé ce post pour trouver des réponses, par pour me démoraliser.
de plus, je sais parfaitement comment ça marche, l'industrie des jeux video (les graphistes, les programmeurs, les game designer, les level designer...etc)
ce que je veux, c'est juste apprendre le coté programmeur (celui qui assemble toutes les parties du jeu (les niveaux, les animation...etc)).
si je voulais me démoraliser j'aurais eu qu'a rechercher : doom 4 sur internet (ça fait 6ans qu'il est en développement ;) ). enfin, en postant 2 fois cette question j'ai eu la réponse de rocky_123 alors ça a servit a quelque chose le double post :)
@rocky_123 : merci beaucoup pour votre précieux aide :)
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
3 avril 2014 à 21:55
Loin de moi l'idée de te démoraliser ... j'essayais de t'éclairer, mais puisque tu sais comment ça marche ... ^^
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
3 avril 2014 à 22:05
enfin, en postant 2 fois cette question j'ai eu la réponse de rocky_123 alors ça a servit a quelque chose le double post :)
Peut-être. Il n'empêche que la charte interdit la multiple création de post, d'une part pour le respect des bénévoles et d'autre part pour limiter le nombre de posts.
0
Utilisateur anonyme
4 avril 2014 à 02:52
oui, je sais ça, mais il faut aussi se poser cette question: pourquoi la première fois personne n'a répondu mais maintenant si ??
la réponse: parce que mon titre (la première fois) n'était pas clair, et peu attirant que celui la :)
c'est pour ça que j'ai reporté, c'est pour changer le titre de mon post.
je sais que c'est interdit mais il fallait que je fasse ça :)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
4 avril 2014 à 07:44
Si on n'a pas répondu, c'est qu'on n'a pas eu le temps. Il ne faut pas oublier que ce sont des bénévoles qui répondent sur leur temps libre.
De plus, si tu trouves ton titre mal choisi, modifie-le plutôt que créer un post. Tu peux aussi faire un up. Mais pas de doublon. En plus, certains ne répondront pas à tes posts s'ils voient des doublons ;-)
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
5 avril 2014 à 23:34
Bonsoir
je vais cracher dans la soupe pour te démoraliser mais juste parler de certaines notions jeu vidéo surtout la partie programmation 3D peut connue enfin pour ce qui ont deja fait un jeux professionnel.
bref je rejoins certain sur leur dire par rapport aux jeux vidéo qui demandent certaines notions poussées en programmation et pas seulement tout d'abord à commencer par les mathématiques, puis la logique je parle d'algorithmes, puis viens la programmation et de ta de truc encore comme par exemple
les assemblages dynamiques de deux moitiés d'images
les voxel spacing en animation
les unités sprites ou notion de sprites
les mathematique pour la representation d'objet 3D et 2D , les transformations, les objet filiformes , les hidden line
les mémoire conventionel a savoir aussi les EMS pour plus de mémoire , sans oublier les XMS et oui bas niveau assembleurs , des model de memoire Flat les registre des cartes pour le son
les PIC , DMA PIT les RTC et j'en passe
les astuces programmeur pour évité des boggue de malade
les API sytème etc
bref pour un exemple concret regarde les codes sources des vieux jeux pas les new car c'est pire mais les vieux comme doom , advence aventure etc.. tu verras que c'est pas si facile a faire un jeux même faire un simple cube triangle comme ont te la dis plus haut c'est pas simple je parle pas des fonction mais ce qui ce cache derriere c'est fonction , bref je t'encourage a faire des jeux console car c'est le moteur du jeux le reste est que graphique et pour l'instant SDL est bien, tres bien pour commencer avant d'aller plus loin bref à bientôt et dsl pour les fautes
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
23 avril 2014 à 23:20
@oteffahi Toi-même tu la dis il faut avoir des connaissances nécessaires ; Cependant un jeu ludique oui mais pousser ton jeu ludique à efflorer des notions de programmation 3D, ou l'utilisations de certaine fonctions avancée en programmation 3D sans savoir ce qu'elle font réellement serais plus roulé à l'aveugle et cela demande un peu plus de connaissance, astuce en programmations , de la logique et OpenGL pour moi est légèrement avancé pour un débutant métrisant pas encore solidement les bases de la programmations le mieux c'est de s'orienter vers des bibliothèque comme GLUT là où tu peut pratiquement embrasser OpenGL sans faire de folie et pas besoin de mettre dans une fenêtre ta surface OpenGL elle le fait tout seul ou SDL bref.
Pour un logiciel, oui tu peux le faire si tu à la encore de très bonne base C++ surtout en objet , et comme pratiquement tout les débutant QT seras ton dieux hors il n'y a pas mal de Library très cool simple mais aussi Dark à utiliser TCL GTK+ X-window etc. d'ailleurs si tu veux t'amuser il y a la bibliothèque NCurse qui te permet de faire de beau graphisme dans un terminale de commande.
Pour moi je te conseille fortement de faire un jeu en console pour mieux travailler ta logique et assimiler les notions élémentaires en programmations avant de te lancé dans OpenGL mais après tout tu fais ce qui te plaît et si tu veux te rivalisé avec d'autre programmeur en herbe de ton âge il y'a le concours "Invo Game" de EFREI

à bientôt
0
Utilisateur anonyme
30 avril 2014 à 20:16
merci beaucoup pour votre aide
je me débrouille pas mal en C++ mais je n'ai pas encore abordé la P.O.O
pour la programmation en console, je n'ai pas trop d'idées de jeux, c'est ça le problème !
si vous avez des suggestion, je suis preneur !
encore merci pour vos réponses :)
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
15 mai 2014 à 14:34
Bonjour pour les jeux en console tu peux bien faire un master-man, chiffre mystère, jeux de l'allumette, puis quand tu te sentiras à l'aise tu pourras mettre ton moteur de jeux sous dans une fenêtre avec des couleurs etc
à bientôt
0
Salut,

Voici un comparatif DirectX - OpenGL:

DirectX:
- En C++.
- Pour Windows (Il est préférable de bien connaitre l'API de Windows avant, ça peut servir ^^).
- Bonne documentation sur MSDN.
- Il doit exister quelques tutoriels, mais le concept de MSDN c'est lire les articles et regarder les petits codes d'exemples. Ça suffit bien normalement.
- Tous les jeux "biens" sont fait avec DirectX.
- Il gère le son, la 2D, la 3D, etc.
- Bonnes performances.

OpenGL:
- En C.
- Compatible avec Linux.
- Assez moche à programmer (mon opinion).
- Plein de tutoriels.
- Facilement interfaçable avec SDL, puisque tu connais déjà.
- C'est "open-source", c'est souvent avec ça que sont fait les jeux "open-source" (AD0, etc).

Voilà, c'est bon opinion personelle qui peut être discutable du point de vu de certains.

Après, comme d'autres l'on fait remarquer, c'est loin d'être simple et demande des compétences dans des domaines connexes comme le traitement du signal, les mathématiques, la modélisation, etc.

Bon courage.
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
2 mai 2014 à 16:03
Le problème c'est que tu compares DirectX à OpenGL, et non Direct3D à OGL: DirectX est tout un framework, OpenGL n'est qu'une librairie de 3D accélérée.
À noter que DirectX ça fait environ 20% d'overhead (charge supplémentaire) qu'OpenGL quand on parle d'accélération 3D.
Donc pour le "Bonnes performances", ahem... cf "Approaching Zero driver overhead" de NVIDIA à la Games Developer Conference.
Après, le "Assez moche à programmer", c'est subjectif, mais perso je trouve la "mocheté" équivalente, ex:
D3DXMATRIX matRotateX;
D3DXMATRIX matScale;
D3DXMatrixScaling(&matScale, 2.0f, 2.0f, 2.0f);
D3DXMatrixRotationX(&matRotateX, D3DXToRadian(90.0f));
d3ddev->SetTransform(D3DTS_WORLD, &(matRotateX * matScale));
///// VS /////
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glScalef(2.f, 2.f, 2.f);
glRotatef(90.f, 0, 0, 1);
C'est d'ailleurs limite plus clean pour OpenGL...
Voilà j'ai discuté mon point de vue ;)
Autrement Direct3D est "au même niveau" qu'OpenGL pour plein de trucs.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
3 juin 2014 à 11:33
merci beaucoup pour votre aide vraiment très précieuse ( ça ce dit ça ? ).
cependant, j'ai une dernière question... (oui je sais, je suis trop casse pied, désolé)
ces temps si, je me suis attaqué au C++, et j'ai trouvé une bibliothèque très complète appelé "Qt", et j'ai aussi compris qu'elle pouvait gérer la 3D a l'aide de OpenGL (comme pour la SDL), alors, je voudrait savoir si vous pouvez m'aider a trouver des tutos pour ça ?
P.S: encore désolé, je sais que je vous casse un peu les pieds, mais c'est pour une bonne cause ;)

cordialement.
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
3 juin 2014 à 11:44
Bonjour
Le bon tutoriel de Qt n'est rien d'autre que ça documentation avec tous les exemples qui vont avec
à bientôt
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
3 avril 2014 à 19:41
Salut,

Ce n'est pas en multipliant les posts que tu auras plus de réponses.

Il y a déjà une multitudes de posts sur ce sujet sur CCM. La création d'un jeu 3D, tel que les FPS, demande des compétences qui dépassent le langage informatique. Il suffit de lire la section "Crédits" des différents jeux de ce style pour s'en rendre compte.
-1