Pour débutant : OpenGL ou DirectX ?

Pour débutant : OpenGL ou DirectX ? - C++ - Programmation

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

Reply

Marsh Posté le 21-08-2004 à 17:04:53   

Reply

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.

Reply

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.

Reply

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 :o)


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

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.


Message édité par Lightness1024 le 22-08-2004 à 13:57:19

---------------
http://projets.6mablog.com/
Reply

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 !
 

Reply

Marsh Posté le 22-08-2004 à 12:20:47    

et le grand classique neon helium productions.


---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 22-08-2004 à 12:34:32    

OpenGL sans hésitation

Reply

Marsh 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

Reply

Marsh Posté le 22-08-2004 à 13:34:23    

5 contre 1, OpenGL win ! :o

Reply

Marsh Posté le 22-08-2004 à 13:34:23   

Reply

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  :whistle:

Reply

Marsh Posté le 22-08-2004 à 14:13:54    

Merci de vos conseils je vais voir ca avec openGL

Reply

Marsh Posté le 22-08-2004 à 14:33:44    

va te pendre a un groseiller [:mmmfff]

Reply

Marsh Posté le 22-08-2004 à 14:41:23    

WhatDe a écrit :

5 contre 1, OpenGL wins ! :o


ignare  :o

Reply

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 /..."
 
Direct est plus aussi touffu qu'avant, go directx, ca sera mon dernier mot


 
Qu'est-ce qu'il en a à foutre de l'optimisation, il débute


Message édité par Ace17 le 22-08-2004 à 16:16:09
Reply

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é :o

Reply

Marsh Posté le 22-08-2004 à 14:59:26    


C'est pas toi qui va m'apprendre l'Anglais hein, ma touche 's' ne fonctionne plus  :whistle:

Reply

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  :whistle:


 
ni le français [:dawa]

Reply

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  :whistle:


 :lol:  
En effet, il y aurait trop de boulot  :p

Reply

Marsh Posté le 22-08-2004 à 21:56:05    

Prochaine fois j'écrirais en binaire, là au moins y'aura pas de fautes :o

Reply

Marsh Posté le 22-08-2004 à 22:15:07    

WhatDe a écrit :

Prochaine fois j'écrirai (sans s) en binaire, là au moins y'aura pas de fautes :o


[:aloy]

Reply

Marsh Posté le 22-08-2004 à 22:22:30    

Direct X.
 
bien entendu ça veut pas dire que ce sera facile, hein !

Reply

Marsh Posté le 22-08-2004 à 22:26:01    


Toi tu dois être un adepte du topic sur le français non ? :o

Reply

Marsh Posté le 22-08-2004 à 22:27:39    

opengl c'est portable et plus facile

Reply

Marsh Posté le 22-08-2004 à 22:29:35    

non et non :o

Reply

Marsh Posté le 22-08-2004 à 22:31:02    

pourquoi tu dis que c'est pas portable ?
 
et opengl pour debuter c'est plus facile

Reply

Marsh Posté le 22-08-2004 à 22:32:30    

tu aimes les extensions proprio ainsi imbitable que super portable ? [:zebra33]

Reply

Marsh Posté le 22-08-2004 à 22:34:27    

dans le sens ou avec dx on est borné à windows

Reply

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 [:joce]

Reply

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

Reply

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 [:joce]


Il faut que ca change, je veux plus de jeux de qualités sous linux bordel ! :o

Reply

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 ! :o


installe winex [:ddr555]

Reply

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 /..."
 
Direct est plus aussi touffu qu'avant, go directx, ca sera mon dernier mot


 
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

Reply

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  :whistle:


 
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.

Reply

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.
 
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


 
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


Message édité par chrisbk le 23-08-2004 à 00:11:02
Reply

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 :D)

Reply

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.

Reply

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.

Reply

Marsh Posté le 23-08-2004 à 01:00:35    

Un lien aussi pour du directx (version 8) : http://www.programmationworld.com/ [...] &Numero=60
 

Reply

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 :D

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed