Pour débutant : OpenGL ou DirectX ? - C++ - Programmation
Marsh Posté le 21-08-2004 à 18:51:53
Je crois que OpenGL est considéré comme étant le plus simple quand tu débutes la 3D.
Marsh Posté le 21-08-2004 à 19:16:03
Mon préféré étant OpenGL, je te conseillerais de l'apprendre
Mais c'est vrai qu'il à l'air plus simple que DirectX.
Marsh Posté le 21-08-2004 à 19:37:57
dans le sdk de directx 9 ya quand même pas mal de tuto pour apprendre (je dis pas pour autant que c'est mieux qu'opengl )
Marsh Posté le 22-08-2004 à 01:34:49
en effet pour débuter c plus simple OGL.
mais perso je prefere largement DX etant donné qu'il est bien plus complet et permet d'eviter l'integration de 50 librairies différentes par la suite.
ca devient bien plus compliqué que directX quand on progresse.
Marsh Posté le 22-08-2004 à 05:26:50
Je te conseille ce site pour débuter avec l'OpenGL : http://progzone.free.fr/graphisme/opengl/index.php3 !
Marsh Posté le 22-08-2004 à 12:20:47
ReplyMarsh Posté le 22-08-2004 à 13:29:21
pascal_ a écrit : Je crois que OpenGL est considéré comme étant le plus simple quand tu débutes la 3D. |
nan, c'est nul, il va apprendre plein de méthodes foireuses anti-optimisation, tel les fameux "glBegin / glVertex3f /..."
Direct est plus aussi touffu qu'avant, go directx, ca sera mon dernier mot
Marsh Posté le 22-08-2004 à 13:46:53
sayajin a écrit : Je te conseille ce site pour débuter avec l'OpenGL : http://progzone.free.fr/graphisme/opengl/index.php3 ! |
les tutos sont bien fait ... en plus les comparaisons avec direct 3D sont hyper objective
Marsh Posté le 22-08-2004 à 14:42:16
chrisbk a écrit : nan, c'est nul, il va apprendre plein de méthodes foireuses anti-optimisation, tel les fameux "glBegin / glVertex3f /..." |
Qu'est-ce qu'il en a à foutre de l'optimisation, il débute
Marsh Posté le 22-08-2004 à 14:46:03
Ace17 a écrit : Qu'est-ce qu'il en a a foutre de l'optimisation, il débute |
Autant apprendre proprement des le debut. et stocker dans un vb au lieu de tout envoyer comme un sac n'est pas franchement compliqué
Marsh Posté le 22-08-2004 à 14:59:26
Ace17 a écrit : ignare |
C'est pas toi qui va m'apprendre l'Anglais hein, ma touche 's' ne fonctionne plus
Marsh Posté le 22-08-2004 à 16:04:07
WhatDe a écrit : C'est pas toi qui vas m'apprendre l'Anglais hein, ma touche 's' ne fonctionne plus |
ni le français
Marsh Posté le 22-08-2004 à 16:15:52
WhatDe a écrit : C'est pas toi qui va m'apprendre l'Anglais hein, ma touche 's' ne fonctionne plus |
En effet, il y aurait trop de boulot
Marsh Posté le 22-08-2004 à 21:56:05
Prochaine fois j'écrirais en binaire, là au moins y'aura pas de fautes
Marsh Posté le 22-08-2004 à 22:15:07
ReplyMarsh Posté le 22-08-2004 à 22:22:30
Direct X.
bien entendu ça veut pas dire que ce sera facile, hein !
Marsh Posté le 22-08-2004 à 22:26:01
ReplyMarsh Posté le 22-08-2004 à 22:31:02
pourquoi tu dis que c'est pas portable ?
et opengl pour debuter c'est plus facile
Marsh Posté le 22-08-2004 à 22:32:30
tu aimes les extensions proprio ainsi imbitable que super portable ?
Marsh Posté le 22-08-2004 à 22:35:33
ce qui ne derange qu'environ 1% de la population, et 0% des débutants qui ont mieux a faire que se prendre le choux d'emblée avec des pb de portabilités
Marsh Posté le 22-08-2004 à 22:37:23
c'est quand meme interessant de savoir ca, ca pourais peut etre l'interessé de coder son fps dans l'optique de pouvoir un jours le porté sous son linux sans trop de difficulté, enfin c'est vrai qu'il en est pas encore la
Marsh Posté le 22-08-2004 à 22:49:18
chrisbk a écrit : ce qui ne derange qu'environ 1% de la population, et 0% des débutants qui ont mieux a faire que se prendre le choux d'emblée avec des pb de portabilités |
Il faut que ca change, je veux plus de jeux de qualités sous linux bordel !
Marsh Posté le 22-08-2004 à 23:19:52
WhatDe a écrit : Il faut que ca change, je veux plus de jeux de qualités sous linux bordel ! |
installe winex
Marsh Posté le 22-08-2004 à 23:59:25
chrisbk a écrit : nan, c'est nul, il va apprendre plein de méthodes foireuses anti-optimisation, tel les fameux "glBegin / glVertex3f /..." |
Même dans des vrais développements l'optimisation ce fait en dernier. D'abord poser les bases, les maitriser ensuite tu optimises. Ca on ne peut optimiser ce que l'on maitrise pas.
Ca me rappelle une citation quon trouve dans un des chapitres du "Langage C++" de Bjarne Stroustrup :
"Une optimisation prématurée est la source de tous les maux" c'est de D. Knuth
Marsh Posté le 23-08-2004 à 00:00:27
TriadPtale a écrit : les tutos sont bien fait ... en plus les comparaisons avec direct 3D sont hyper objective |
C'est un anti-windows mais il a le mérite d'allez au bout de son raisonnement et de ne pas exclure gratuitement l'environnement windows.
Marsh Posté le 23-08-2004 à 00:10:44
sayajin a écrit : Même dans des vrais développements l'optimisation ce fait en dernier. D'abord poser les bases, les maitriser ensuite tu optimises. Ca on ne peut optimiser ce que l'on maitrise pas. |
Oué, mais la, non, si tu perds ca de vue des le debut t'es mal a la fin, c'est pas un truc que tu modifies une fois que t'as ton code
Marsh Posté le 23-08-2004 à 00:51:13
+1 pour le DirectX.
entre le glBegin() de base de l'OpenGl, et les VertexsBuffers/IndexBuffers du DirectX, y'a pas photo, c'est comme comparer un Unix avec le Dos.
quand on apprends la programmation système proprement, on apprends sous Unix/Linux, on apprends pas sour Dos ou Windows 3.1.
ça n'a rien à avoir avec l'optimisation prématurée, ça a avoir avec les bonnes pratiques à connaitre.
----
ceci dit l'OpenGl n'est pas mauvais, mais apprendre à stoquer des vertexs avec un tableau maison, pousser les vertex avec des glBegins, c'est degueulasse, autant apprendre directement à confier le tableau de vertex à ce qui en a besoin.
ceci dit tu as parfaitement des équivalences d'approches entre le DirectX / OpenGl, sauf qu'en DirectX ce qui est optimal est le standard, et celà s'apprends naturellement, en OpenGl, ça deviens de l'extension qui est présente sur tous les drivers de cartes modernes, mais d'une part il faut aller la chercher, et d'autre part tu ne l'auras pas sur du vieux matos, alors qu'en DirectX les VB/IB sont omni-présent, incontournables et leur emploi (le coté T&L/Shader) est émulé par l'API pour le matos obsolète (et il est plus facile d'émuler au niveau CPU des capacités SIMD hardware avec un buffer d'éléments contigus, qu'avec un enchevêtrement de glBegin()/glVertex() ).
ceci dit ça n'empêche pas en utilisant les bonnes extensions , d'avoir parfaitement un rendement identique (ou supérieur grâce à d'autres à coté) de l'OpenGL face au DX, mais la notion de VertexBuffer / IndexBuffer n'est en rien une optimisation prématurée.
A partir du moment que tu comprends malloc/realloc/free ou new/delete, les VB/IBs sont naturellements plus simple et optimaux.
Bref, pas de problème pour commencer avec l'OpenGl, mais gare aux mauvaises habitudes.
la première règle d'optimisation depuis les Geforces 1, c'est "Use a VertexBuffer for EVERYTHING".
Et comme ça peut être vu comme un bête conteneur à vertex, ça pose pas de problème pour un débutant.
(a part des écrans bleus si on se chie dessus )
Marsh Posté le 23-08-2004 à 00:57:25
chrisbk a écrit : Oué, mais la, non, si tu perds ca de vue des le debut t'es mal a la fin, c'est pas un truc que tu modifies une fois que t'as ton code |
Cela va de soi, faut pas faire un code dégeu qui tourne et ensuite essayer de faire un code propre.
Marsh Posté le 23-08-2004 à 01:00:23
mais je dois reconnaitre que j'ai commençé à apprendre à coder sous Dos, et que j'ai lu des docs du Glide et de l'OpenGl, avant de rester en DirectX.
Marsh Posté le 23-08-2004 à 01:00:35
Un lien aussi pour du directx (version 8) : http://www.programmationworld.com/ [...] &Numero=60
Marsh Posté le 23-08-2004 à 01:05:19
en fait avec le SDK du DirectX, les "samples" sont imbuvables pour un débutant, c'est surtout les tutoriaux (qui sont dans un répertoire à coté) qui sont instructifs (car minimaux).
après c'est vrai qu'il y a un peu plus de Windowseries chiantes coté DirectX (au niveau init), le glut simplifie un peu les choses...
bon allez qu'il commence avec de l'OpenGl+Glut....
il pourra afficher des triangles plus facilement
Marsh Posté le 21-08-2004 à 17:04:53
Bonjour,
Je suis débutant en programmation... enfin je ne commence pas a zéro mais disons que j'ai appris ce que je sais en autodidacte avec le basic de ma calculette CASIO et aussi avec Maple (pour faire des math).
Je suis entrain de faire le passage au C++ avec des cours que je trouve sur le net et ca se passe plutot bien pour le moment mais mon projet ce serait de faire un petit jeu complet avec menus en 2D, jeu en 3D (certainement pas super beau avec des effets a la Doom3 et HL2), textures, models etc... faits maison...
J'ai pas l'ambition de faire le jeu du siècle mais au moins une petite daube mais dont je puisse être fier d'avoir fait moi même quoi!
Mais bon avec les instructions de base du C++ je vais pas aller très loin, je sais qu'il y a les librairies de directX et d'OpenGL qui vont m'aider mais je ne sais pas dans laquelle me lancer.
Est ce que vous pouvez me donner vos avis sur ces deux librairies ?
Quelques liens vers des cours POUR DEBUTANT de ces moteurs ?
Merci