DirectX (Buch)-Empfehlung

Bender86

Lieutenant
Dabei seit
Jan. 2007
Beiträge
699
Hallo zusammen,

ich möchte mich neben dem Studium mal ein bisschen mit DirectX beschäftigen, bzw. in die Thematik "hineinschnuppern". Gibt es in dem Bereich gute Bücher - online oder gedruckt - die Einsteigerfreundlich sind? Programmiererfahrung habe ich bisher einige in Java und sehr rudimentär in C/C++ gesammelt. Ideal wäre ein Online-Buch wie Java ist auch eine Insel, wenn es aber ein gutes Einsteigerbuch im Bereich <50€ gibt wäre das auch gut. Bei Amazon habe ich mal nach dem Thema gesucht, da gibt es wohl eine ganze Reihe an Büchern, bei denen ich aber nun nicht weiß welches zu empfehlen ist. In meinem Kommilitonen-Umkreis kenne ich leider niemanden der sich damit auskennt, desshalb hoffe ich mal das es hier den ein oder anderen Experten gibt der mir was für den Einstieg empfehlen kann. :)

Ich denke mal wie bei allem was mit Programmieren zutun hat, gibt es im Internet zig Tutorials, ich bevorzuge aber lieber was umfangreicheres mit einem roten Faden bzw. Konzept das einen in die Thematik einführt. Danke schonmal für Vorschläge. :)
 
Gute DirectX Bücher gibt es sehr wenige. Für OpenGL gibt es das allseits bekannte Red Book.

Für natives DirectX wirst du schon C/C++ können müssen. Mit Java wirst du jedenfalls keine Bäume ausreißen.

Gute Bücher gibt es von dem Autor Frank D. Luna. Die sind natürlich in englisch verfasst, aber es lohnt sich.

Alternativ dazu kannst du es mit dem Buch 3D-Spieleprogrammierung mit DirectX 9 und C++ probieren.

http://www.amazon.de/gp/product/3446405968/

Meiner Meinung das beste Buch im deutschsprachigen Raum zu DirectX.
 
Das ich mit Java nicht weit kommen werde dachte ich mir, aber das ist eigentlich kein Problem. Im 5. Semester muss ich im Hauptstudiums-Projekt sowieso sehr viel C++ programmieren, also schadet es ja nicht in Zuge von DirectX sich damit eingehender zu beschäftigen.

Die Beschreibung von dem deutschen Buch liest sich sehr gut und die Kommentare sind auch überwiegend positiv, ich denke das werde ich mir bestellen. Danke für den Tipp!
 
Ich würde dir dennoch primär zu einem Buch von Frank D. Luna raten, auch wenn diese nur in Englisch existieren. Siehe "Introduction to 3D Game Programming with DirectX 10".

Das Buch von Scherfgen ist zwar das mir beste bekannte deutschssprachige Buch, es lehnt sich aber sehr stark an die vom Autor geschriebene Engine an. Wenn du nur an DirectX interessiert bist, würde ich zu "Introduction to 3D Game Programming with DirectX 10" tendieren.

Gute OpenGL Bücher sind deutlich zahlreicher. Ich habe hier zusammen mit dem RecBook zwei sehr gute im Regal stehen.
 
Zuletzt bearbeitet:
Hm... gut das werde ich mir nochmal durch den Kopf gehen lassen. Aus Bequemlichkeitsgründen wäre mir das Deutsche natürlich lieber, aber wenn das Englische soviel besser ist nehme ich vielleicht doch das.

OpenGL ist sicher auch interessant, ich ziele im Moment aber in Richtung Computerspiele ab wo OpenGL ja meines Wissens nicht soviele Möglichkeiten wie DX bietet. Ob ich mit DX je was sinnvolles machen werde weiß ich nun noch nicht, aber rein vom Interesse her zieht es mich eher an um einen Einblick zu bekommen.
 
OpenGL ist genauso leistungsfähig, wie Direct3D! Es gibt eine Reihe gute Tutorials zu OpenGL, z.B. die bekannten NeHe.

http://nehe.gamedev.net/

Es gibt Spiele, die mit OpenGL geschrieben sind, andere greifen auf DirectX zurück. Zu DirectX gehört nicht nur die 3D Grafik API, Direct3D. DirectX ist eine ganze Sammlung von APIs, unter anderem auch DirectSound und DirectInput.

Bei dem Buch von Scherfgen, würde ich erstmal probelesen. Letztlich liegt die Entscheidung bei dir, ob es deinen Anforderungen genügt. Das kann der Fall sein, muss aber nicht.
 
Naja ich meinte damit moderne Spielegrafik. Also mir fällt jetzt kein Spiel mit halbwegs aktueller Grafik (sagen wir mal mit einer Grafik vergleichbar mit Neverwinter Nights 2, Half-Life 2) ein, dass nicht DirectX benutzt. Aber wenn das anders ist lasse ich mich gerne etwas anderem belehren. :)
 
Wie wäre es mit allen PS3 Spielen? So schlecht ist die Grafik auf der PS3 auch nicht. :D

Die PS3 greift auf OpenGL ES zurück.

Vor nicht allzu langer Zeit war OpenGL der DirectX API weit überlegen. Irgendwann wurde die Dominanz von Microsoft zu groß und DirectX setzte sich breit durch.

Aber nur weil DirectX heute von einem Großteil verwendet wird, heißt das noch lange nicht, das Direct3D leistungsfähiger als OpenGL ist. Windows ist auch nicht leistungsfähiger als die Unix Derivate, nur weil Windows von den meisten Endanwendern verwendet wird.
 
Zuletzt bearbeitet:
Ja das einzige PC Spiel das mit zu OpenGL einfällt ist Quake. ;) Ich dachte das Direct3D OpenGL durch diese ganzen Shader Effekte abgehängt hat und seitdem OpenGL nurnoch für 3D Programme und CAD benutzt wird. Aber mit Konsolen hab ich wenig am Hut also wirds bei DX bleiben. ;)
 
Direct3D hat OpenGL sicherlich nicht abgehängt. Der neue Standard 3.0 hat viele Verbesserungen eingeführt.

Viele Spielehersteller setzen nunmal auf DirectX, weil

  1. über 90 % der User Windows einsetzen.
  2. DirectX auch viele weitere APIs, wie DirectSound, bereitstellt.
  3. Microsoft ganze Entwicklungsumgebungen mitliefert, die die Arbeit deutlich erleichtern.
  4. Direct3D eine konsistentere API bereitstellt.

Wenn du heute bei EA, Ubisoft oder sonstwo anheuerst, wirst du kaum die 3D Hardware direkt mit Bibliotheken, wie Direct3D ansprechen. In solchen Firmen werden eigene Bibliotheken des Unternehmens verwendet, die auf Direct3D aufbauen. Es sei denn du arbeitest direkt an der Grafikengine.

DirectX ist sicherlich eine gute Wahl. Aber die Spieleprogrammierung ist eine Königsdisziplin in der Softwareentwicklung. Mit Direct3D ist es nicht getan. Schau dir die oben genannten Bücher an, die beziehen sich auf DirectX. Ein Zuckerschlecken wird das aber nicht.

Nebenbei empfehle ich dir Game Coding Complete. Besitze ich selbst.

Es gibt dir einen schönen, allgemeinen Überblick über die Spieleentwicklung in DirectX. Es setzt voraus das du dich mit DirectX und C++ auskennst und zeigt dir unter anderem, wie ein Spiel grundsätzlich programmiert wird, d.h. collisions, game physics, main loop, 3D projection, networking etc.

Ist auch in englisch, aber als Informatiker müsste das für dich eigentlich die zweite Muttersprache sein. Ohne englisch kommst du nämlich in der Regel nicht sehr weit.
 
Zurück
Top