Question

avec quelques amis, nous avons commencé ce projet à base de plate-forme Java indépendant amateur pour un jeu de simulation de combat spatial (quelque chose comme la longue saga mort du commandant de l'aile). Aucun d'entre nous est bien un programmeur 3D, de sorte que la route va être longue.

Ma question est: à notre place ce que vous commencez à apprendre OpenGL (peut-être via GLUT) ou est-il une meilleure possibilité aujourd'hui? Qu'en est-il Direct3D? Tous les livres que vous pouvez suggérer? Nous avons commandé un couple, en particulier

  • Guide de programmation OpenGL Dave Shriner
  • Luke Benstead Début de programmation OpenGL jeu
Était-ce utile?

La solution

Pensez à utiliser un moteur 3D open source comme Ogre3D ou Irrlicht . De cette façon, vous pouvez vous concentrer sur faire un jeu. Contenu, gameplay

Les deux moteurs définissent une couche d'abstraction qui peut mapper backends Direct3D ou OpenGL.

EDIT: au début, je ne l'ai pas remarqué que vous avez mentionné Java, de toute façon les deux moteurs prennent en charge les liaisons Java

.

Autres conseils

Si vous décidez d'apprendre la programmation des graphiques de bas niveau au lieu d'utiliser un niveau plus élevé moteur 3D comme Ogre3D ou Irrlicht, je recommande de commencer avec OpenGL ES 2.x, qui est un sous-ensemble d'OpenGL.

OpenGL ES 2.x est un sous-ensemble simplifié d'OpenGL pour les systèmes embarqués avec du matériel programmable tels que les téléphones. Par exemple, dans OpenGL il peut y avoir plusieurs façons d'accomplir des tâches, mais dans Open GL ES 2.X, il n'y a qu'une seule façon. Parce qu'il ya moins de choix dans OpenGL ES 2.x, il y a beaucoup moins d'apprendre à maîtriser OpenGL ES 2.X. Le Guide de programmation OpenGL ES 2.0 est de 480 pages, et le Guide de programmation OpenGL, septième édition est de 936 pages.

De plus, en utilisant OpenGL ES 2.x vous donnera un public plus large de matériel pour votre jeu. Parce qu'il est un sous-ensemble d'OpenGL, le code écrit pour OpenGL ES 2.x fonctionnera sur un système OpenGL complet avec une modification peu ou pas. Les graphiques de votre jeu peuvent travailler sur une gamme de machines cibles des ordinateurs de bureau aux téléphones intelligents.

Vous pouvez choisir un moteur 3D open source comme Ogre3D .

Mais si vous voulez vraiment écrire le moteur graphique sur votre propre (très intéressant), commencez par apprendre l'algèbre linéaire. Pas les choses assez avancé, mais vous devriez être très à l'aise avec vous exprimer dans des vecteurs de traduction, des matrices de rotation et similaires.

Si vous avez déjà familier avec ces concepts, choisissez Direct3D ou OpenGL - cela dépend plus de la plate-forme disponible. Si vous aimez le code dans un environnement Mircosoft, choisissez Direct3D, tout le reste, choisissez OpenGL.

Le choix des bibliothèques supplémentaires dépend du langage de programmation. De meilleures alternatives que GLUT sont probablement SDL (C) ou Qt (C ++).

Eh bien, si vous ne l'avez jamais fait la programmation graphique 3D avant, optez pour la simplicité et apprendre-as-you-go. Il y avait un ensemble de tutoriels vraiment sympa par NeHe (hélium-néon) pour OpenGL, ce qui était la route que je pris.

J'ai trouvé OpenGL plus facile de commencer avec aussi la courbe d'apprentissage est pas si raide. Vous pouvez obtenir des résultats rapides qui aide beaucoup avec frustration initiale / motivation. Des tonnes d'aide, etc. Les mots d'avertissement cependant - la programmation 3D est intrinsèquement complexe et vous dépenser plus d'énergie sur la technologie graphique de construction de jeu lui-même. Envisager d'adopter Ogre3D si vous voulez vraiment voir le jeu terminé: o) (disclaimer: Je sais qu'il ya aussi d'autres moteurs, mais est stable Ogre, éprouvée et est livré avec une bonne documentation)

Si vous voulez rester DirectX plate-forme indépendante ne le fera pas car il est limité aux plates-formes Microsoft Windows

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top