Frage

mit ein paar Freunden haben wir begonnen, diese Amateur plattformunabhängige Java-basierte Projekt für ein Weltraumkampfsimulator Spiel (so etwas wie die lange tot Saga von Wing Commander). obwohl keiner von uns ist ein 3D-Programmierer, so dass der Weg ist gonna lang sein.

Meine Frage ist: in unserem Ort würden Sie starten OpenGL Lernen (vielleicht über GLUT) oder gibt es eine bessere Möglichkeit, heute? Was ist Direct3D? Alle Bücher, Sie könnte darauf hindeuten,? Wir bestellten ein paar, speziell

  • Dave Shriner OpenGL Programming Guide
  • Luke Benstead des Beginning OpenGL Game Programming
War es hilfreich?

Lösung

Betrachten Sie eine Open-Source-3D-Engine wie Ogre3D oder Irrlicht . Auf diese Weise können über die Schaffung eines Spiel konzentrieren können. Inhalt, Gameplay

Beide Motoren definieren eine Abstraktionsschicht, die auf Direct3D oder OpenGL-Backends abbilden kann.

EDIT: ich zunächst gar nicht bemerkt man Java erwähnt, trotzdem beide Motoren unterstützen Java-Bindungen

.

Andere Tipps

Wenn Sie sich entscheiden, die niedrigen Level-Grafikprogrammierung anstelle der Verwendung einer höheren Ebene 3D-Engine wie Ogre3D oder Irrlicht zu lernen, empfehle ich mit OpenGL ES 2.X beginnen, die eine Teilmenge von OpenGL ist.

OpenGL ES 2.X ist eine vereinfachte Teilmenge von OpenGL für eingebettete Systeme mit programmierbarer Hardware wie Telefone. Zum Beispiel in OpenGL kann es mehr Möglichkeiten, um Aufgaben zu erfüllen, aber in Open GL ES 2.X, gibt es nur einen Weg. Weil es weniger Auswahl in OpenGL ES 2.X, es gibt so viel weniger zu lernen OpenGL ES 2.X. zu meistern Die OpenGL ES 2.0 Programming Guide ist 480 Seiten und die OpenGL Programming Guide, Seventh Edition ist 936 Seiten.

Darüber hinaus wird OpenGL ES 2.x gibt Ihnen ein größeres Hardware-Publikum für Ihr Spiel. Da es sich um eine Teilmenge von OpenGL ist, Code für OpenGL ES 2.X geschrieben wird mit wenig oder keiner Modifikation auf eine volle OpenGL-System arbeiten. Ihr Spiel der Grafik kann auf eine Reihe von Zielcomputern von Desktops Smartphones arbeiten.

Sie könnten eine Open-Source-3D-Engine wie wählen Ogre3D .

Aber wenn Sie wirklich die Grafik-Engine auf dem eigenen (sehr interessant) schreiben wollen, starten Sie durch lineare Algebra lernen. Nicht das schon recht weit fortgeschritten Sachen, aber man sollte sehr komfortabel mit sich auszudrücken in Translationsvektoren, Drehmatrizen und dergleichen.

Wenn Sie bereits mit diesen Begriffen vertraut, entweder Direct3D oder OpenGL wählen - dies hängt mehr von der verfügbaren Plattform. Wenn Sie in einer Mircosoft-Umgebung codieren möchten, wählen Sie Direct3D, alles andere, OpenGL wählen.

Die Wahl der zusätzlichen Bibliotheken hängt von der Programmiersprache. Bessere Alternativen als GLUT sind wahrscheinlich SDL (C) oder Qt (C ++).

Nun, wenn Sie noch nie 3D-Grafik-Programmierung gemacht haben, die Einfachheit halber gehen und lernen-as-you-go. Früher gibt es eine Reihe von wirklich schön Tutorials von NeHe (Neon Helium) für OpenGL sein, die die Strecke war ich nahm.

fand ich OpenGL einfacher zu starten als Lernkurve nicht so steil ist. Sie können schnell Ergebnisse erhalten, die viel mit anfänglicher Frustration / Motivation hilft. obwohl Tonnen Hilfe usw. Worte der Warnung - 3D-Programmierung ist von Natur aus komplex, und Sie werden mehr Energie auf den Aufbau von Grafiktechnologie ausgeben als Spiel an sich. Betrachten Ogre3D Annahme, wenn Sie wirklich das Spiel beendet sehen wollen: o) (Disclaimer: Ich weiß, es gibt auch andere Motoren aber Ogre ist stabil, bewährt und kommt mit einem guten Dokumentation)

Wenn Sie wollen bleiben plattformunabhängige DirectX nicht tun, wie es auf Microsoft Windows-Plattformen beschränkt ist

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top