Effektiv und erfolgreich DirectX9 mit C++ lernen



  • Hi,

    ich versuche nun seit Oktober 2006 mir die Programmierung mit DirectX9 und C++ beizubringen. Dafür habe ich mir einige Bücher zugelegt, weil ich mit den ersten nicht klar kam... Nun sieht meine Liste so aus:

    1. Inside Microsoft DirectX9 - Spieleprogrammierung (MS PRESS)
    2. 3D-Spieleprogrammierung mit DirectX9 und C++ (David Scherfgen)
    3. Direct3D und 3D-Engine Programmierung - Take Off with Direct3D (Stefan Zerbst)

    Folgende Probleme bei den Büchern, mit denen ich nicht klar komme:

    1. Buch: wirrer Einstieg in DirectX9!! Wird Kapitel 1 eigentlich gebraucht? Ich sehe nicht durch deshalb hab ich Buch 2 gekauft:

    2. Buch: Kein direkter DirectX einstieg, sondern es wird im 2. Kapitel teilweise pures D3D genutzt und teilweise Headerdateien der TB-Engine, die man nicht behandelt und dann im 3.Kapitel wird man einfach in die Programmierung mit der TB-Engine hereingeschmissen, sodass man die Headerdateien aus Kapitel2 unbrauchbar liegen lässt... ich fands wirr und teilweise unverständlich erklärt, deshalb Buch 3:

    3.Buch: Das Buch finde ich zwar bisher am besten von allen, jedoch habe ich ein gravierendes Problem, da man sich die Quellcodes aus dem Inet saugen muss und dann kompilieren muss um zu sehen, was raus kommen muss, gehen diese nicht bei mir, weder mit MS Visual C++ 2003 Pro. noch mit Visual C++ 2005 EE zu kompilieren... Ich habe mich mit Stefan in Verbindung gesetzt aber keine wirkliche Hilfe bekommen.. Die Quellcodes sind mit Visual C++ 2003.Net gecodet... Warum dann die inkompatibilität auf meinem Rechner???

    Nun zu meinem eigentlichen Anliegen:

    Ich scheitere irgendwie daran, effektiv DirectX 9 zu lernen..
    Wie geht ihr vor(wie seid ihr vorgegangen?), um DirectX zu erlernen? Welches Buch sollte ich am ehesten nehmen?
    Welches Buch würdet ihr durcharbeiten und worauf ich großen Wert lege, WIE?! Ich habe eine Spielidee im Kopf und auf Papier, sollte ich mein Projekt nebenbei entwickeln oder erst brav ein Buch durcharbeiten und danach anfangen das Spiel zu programmieren, was mir vorschwebt?

    Bitte helft mir, ich will endlich mein Spiel programmieren...

    Ich freue mich über jede Hilfe!!! 🙂

    Danke schonmal Sn3aK87



  • sn3ak87 schrieb:

    Wie geht ihr vor(wie seid ihr vorgegangen?), um DirectX zu erlernen? Welches Buch sollte ich am ehesten nehmen?

    Ich hab nur Buch 2 (Scherfgen) und ich find's gut. Also mir hat's einen guten Überblick verschafft...

    Wenn du noch nichts mit Grafik gemacht hast, solltest du nicht gleich mit deinem Spiel anfangen. Dann wird's eh nichts, und eine gute Spielidee würde verworfen werden



  • xindon schrieb:

    sn3ak87 schrieb:

    Wie geht ihr vor(wie seid ihr vorgegangen?), um DirectX zu erlernen? Welches Buch sollte ich am ehesten nehmen?

    Ich hab nur Buch 2 (Scherfgen) und ich find's gut. Also mir hat's einen guten Überblick verschafft...

    Wenn du noch nichts mit Grafik gemacht hast, solltest du nicht gleich mit deinem Spiel anfangen. Dann wird's eh nichts, und eine gute Spielidee würde verworfen werden

    Also sollte ich ein Buch durcharbeiten und mit der entwickelten engine erstmal arbeiten nach dem ich es gelesen habe und dann erst das Spielprojekt anfangen?



  • Ich hab lediglich Buch2 und mich damit in Direct3D reingefrickelt (anders kann ichs nicht sagen). Am Anfang isses recht hart, weil man dutzende Fachbriffe auf einmal verstehen muss um was zu erreichen. Aber mit Hartnäckigkeit und diversen unterstützenden Tutorials im Netz (von denen ja jedes ne eigene Sicht bietet) wird das schon.

    Edit: Zu deiner Frage: Mir war diese Tribase Engine völlig egal und hab nie damit gearbeitet(ich will D3D lernen und net irgend ne Engine). Aber gerade weil man auch durch das Buch viel lernt wenn man die Engine nicht anschaut, find ichs so gut.



  • Also ich finde das Buch von Scherfgen sehr gut, vor allem die Kapitel über Vektoralgebra sind sehr gelungen. Außerdem kannste viel von der Tribase-Engine lernen. Das Buch von Stefan wollte ich mir eigendlich auch noch zulegen aber zur Zeit habe ich keine Zeit und Lust auf D3D bzw. DX. Ich finde die Programmierung nicht wirklich schwierig das was mir am meisten Probleme macht sind die nicht vorhandenen Mathematik und Physik Kentnisse die man benötigt um Kollisionsabfragen usw. zu implememtieren. Ich würde dir empfehlen das Buch von Scherfgen durchzuarbeiten und danach im Internet nach Tutorials suchen und von diesen lernen... Und was auch immer sehr gut ist, schau in Engines von Privatepersonen nach und seh dir an wie die es gemacht haben.



  • damals unter DOS habe ich ein buch gelesen, das auf CD einiges an tools zur verfuegung stellte (grafikmodi, sprites, kollisionsabfragen, etc. pp.). da es zu einer zeit ohne Inet war blieb auch nix anderes uebrig als ein buch zu lesen.

    heute, zu zeiten von DX und Co., hole ich mir alle infos aus dem Inet. ich habe schon mitte letzten jahres mal angefangen mit DX zu coden, aber ich war nicht wirklich dahinter (hatte auch zu wenig zeit), seit ein paar tagen bin ich allerdings voll dabei - mit erfolgen. und wie gesagt alles ohne buecher oder zusatz-librarys oder dergleichen. dein bester lehrer ist das Inet 🙂

    greetz
    Sir Daralehthas



  • was ich nach einigen versuchen mit büchern mir was beizubringen gemerkt habe ist, dass 90% aller bücher schmu und bauernfängerei sind.

    wirf sie am besten alle weg, überleg dir ein kleines projekt und fang direct ( 😉 ) an mit der hilfe der directx hilfe dir was zusammen zubauen. die ersten male wirds vermutlich noch nicht so recht gelingen, doch das ist meiner Meinung nach erstmal Nebensache. nach einiger erfahrung merkt man dann schnell wo man sich wie verbessern kann. natürlich empfiehlt sich das vorgehen nur, wenn man schon ein bißchen programmier-erfahrung hat, und einem nicht alles was in der hilfe steht fremd ist.

    dieses ständige bücher kaufen und gucken welches jetzt das tollste ist und so ist meistens eh nur zeitraubend und bringt nichts, wichtiger ist einfach mal anzufangen. learning-by-doing. viel spaß! 🙂



  • Krinkle schrieb:

    was ich nach einigen versuchen mit büchern mir was beizubringen gemerkt habe ist, dass 90% aller bücher schmu und bauernfängerei sind.

    wirf sie am besten alle weg, überleg dir ein kleines projekt und fang direct ( 😉 ) an mit der hilfe der directx hilfe dir was zusammen zubauen. die ersten male wirds vermutlich noch nicht so recht gelingen, doch das ist meiner Meinung nach erstmal Nebensache. nach einiger erfahrung merkt man dann schnell wo man sich wie verbessern kann. natürlich empfiehlt sich das vorgehen nur, wenn man schon ein bißchen programmier-erfahrung hat, und einem nicht alles was in der hilfe steht fremd ist.

    dieses ständige bücher kaufen und gucken welches jetzt das tollste ist und so ist meistens eh nur zeitraubend und bringt nichts, wichtiger ist einfach mal anzufangen. learning-by-doing. viel spaß! 🙂

    Genau wo wollte ich eigentlich vorgehen und ich programmiere schon seit öhm 5 jahren?! Ja^^ Nur bin ich halt in DX en noob.... Ich hab mir damals Delphi auch anhand eines Schulprojektes beigebracht durch selbststudium... hat auch richtig gut geklappt... also würdest du mir empfehlen meine Ziele ohne buch zu erreichen zb: Terrain erzeugen und Panzer drauf und Bewegung einfügen!? Das ist das ziel was ich im moment verfolge, deshalb ist es nervig, wenn man immer damit anfängt "dreieck zeichnen" ... naja das hab ich schon oft genug gemacht ...



  • Ich habe die alte (DirectX8) Ausgabe des Buches von Ulrich Kaiser durchgearbeitet (Amazon) und dabei sehr viel gelernt. Allerdings steigt das bereits bei Direct Draw ein und dekt auch directPlay ab, ist somit kein reines D3D-Buch



  • Mir gehts gerade genauso wie Dir - ich habe mir auch "Inside Microsoft DirectX 9 Spieleprogrammierung" und dazu "Windows Programmierung" von Charles Petzold gekauft. Letzteres als Nachschlagewerk für die Fenster etc.
    Insgesamt muss ich aber sagen, dass ich die Bücher fast nie benutze; vor allem das erste Buch geht für meine Zwecke meißtens entweder zu allgemein oder wiederum zu speziell auf die im Buch entwickelte Engine ein, so dass ich quasi nur mit dem Internet arbeite. MSDN, Tutorials (momentan "Two Kings"), dieses Forum [:)] (, die Coding4Fun Webcasts am Anfang) und google helfen mir am meißten wenn ich nicht weiterkomme. Ich kann mich Krinkle auch voll und ganz anschliessen. Einfach anfangen mit einer klaren (realistischen) Vorstellung wohin man will und wie lange es bis zum Erreichen des Zieles dauern soll (wobei man das im Laufe des Lernens anpassen kann, ist ja nicht schlimm, wenn man durch neues Wissen seine Ziele ändert..).



  • iop schrieb:

    Mir gehts gerade genauso wie Dir - ich habe mir auch "Inside Microsoft DirectX 9 Spieleprogrammierung" und dazu "Windows Programmierung" von Charles Petzold gekauft. Letzteres als Nachschlagewerk für die Fenster etc.
    Insgesamt muss ich aber sagen, dass ich die Bücher fast nie benutze; vor allem das erste Buch geht für meine Zwecke meißtens entweder zu allgemein oder wiederum zu speziell auf die im Buch entwickelte Engine ein, so dass ich quasi nur mit dem Internet arbeite. MSDN, Tutorials (momentan "Two Kings"), dieses Forum [:)] (, die Coding4Fun Webcasts am Anfang) und google helfen mir am meißten wenn ich nicht weiterkomme. Ich kann mich Krinkle auch voll und ganz anschliessen. Einfach anfangen mit einer klaren (realistischen) Vorstellung wohin man will und wie lange es bis zum Erreichen des Zieles dauern soll (wobei man das im Laufe des Lernens anpassen kann, ist ja nicht schlimm, wenn man durch neues Wissen seine Ziele ändert..).

    Ich habe mir das jetzt auch vorgenommen, dass ich mein "spiel" anfange, also erst graphic... terrain und panzer drauf und dann weiterentwickeln, das dürfte ja noch nicht sooo extrem schwer sein, das hinzubekommen mit einer akzeptablen lösung!?
    Und die bücher nutze ich dann als Nachschlagewerke.. hab mir jetzt auch von TwoKings dir Tutorials angeschaut, er scheint Ahnung davon zu haben und fängt gleich mit OOP an, was ich sehr gut finde! Aber ich muss erstmal noch 1 woche warten, bevor ich mit Dx anfangen kann, weil ich dann keinen Zivi-dienst mehr habe und wieder zeit haben werde *freu*

    achso, wer sich dafür interessiert, was ich so mache, der kann sich ja meine homepage anschauen --> Sn3aKs Blog... 🙂



  • das lustige an der sache ist, das ich genau die gleiche idee mit den panzern, dem terrain und der bewegung hatte.. ich mache es allerdings nicht nur rein aus spaß - es geht auch um eine studienarbeit (zusammen mit einem komilitonen)..

    wenn du dir also nächste woche die tutorials von two kings wirklich vornimmst, wäre das eine feine sache, vielleicht können wir uns ja beim lernen ein wenig ergänzen oder helfen 🙂



  • iop schrieb:

    das lustige an der sache ist, das ich genau die gleiche idee mit den panzern, dem terrain und der bewegung hatte.. ich mache es allerdings nicht nur rein aus spaß - es geht auch um eine studienarbeit (zusammen mit einem komilitonen)..

    wenn du dir also nächste woche die tutorials von two kings wirklich vornimmst, wäre das eine feine sache, vielleicht können wir uns ja beim lernen ein wenig ergänzen oder helfen 🙂

    Das können wir gerne machen. 🙂 Da bin ich wenigstens nicht so allein gelassen^^
    Wenn du ICQ hast kannste mich ja adden
    ICQ --> 320-201-223
    oder skype --> sn3ak87



  • ich hab mir die Tutoritals vom SDK angeschaut ....

    dazu muss man glaube aber schon gute erfhrung in c++ bzw "ahnung" haben von DX (hatte selbst schon DX7 in VB6 benuzt...
    in C++ ises effektiv das selbe (was DX angeht) ... sieht aber anders aus ...
    der vorteil ist aber 100%ig in den Klassen zusehen also bleib ja bei C++ 😉

    zum thema büchern ... ich hab mal (zum glück nur aus der biblotehk) nen buch gehabt ... das fing so an "sind sie sich sicher das sie sowas als hobby haben wollen ... angel gehen ist einfacher ... macht vllt auch mehr spass" ... das zog sich dann irgendwie ... über ein ganzes kapitel ,,, und da wurde noch gar nix erklärt ... seit dem less ich keine Bücher ... die kann man nicht nach einer information "fragen" ... das inet ist da umso besser 😉



  • LinkeT schrieb:

    ich hab mir die Tutoritals vom SDK angeschaut ....

    dazu muss man glaube aber schon gute erfhrung in c++ bzw "ahnung" haben von DX (hatte selbst schon DX7 in VB6 benuzt...
    in C++ ises effektiv das selbe (was DX angeht) ... sieht aber anders aus ...
    der vorteil ist aber 100%ig in den Klassen zusehen also bleib ja bei C++ 😉

    zum thema büchern ... ich hab mal (zum glück nur aus der biblotehk) nen buch gehabt ... das fing so an "sind sie sich sicher das sie sowas als hobby haben wollen ... angel gehen ist einfacher ... macht vllt auch mehr spass" ... das zog sich dann irgendwie ... über ein ganzes kapitel ,,, und da wurde noch gar nix erklärt ... seit dem less ich keine Bücher ... die kann man nicht nach einer information "fragen" ... das inet ist da umso besser 😉

    Mittlerweile beschäftige ich mich auch mit den Tutorials von www.directxtutorial.com die sind einfach gut und verständlich geschrieben und das wichtigste ist, man wird erst mit der WinApi angefreundet, also das wichtigste:...

    Die Bücher nehme ich nur noch als Nachschlagewerke, wenn man mal schnell was sucht, zum beispiel Terrain generierung. obwohl man das zu genüge auch im inet findet... warum werden eigentlich die tutorials nicht einfach mal als buch herausgebracht 🙄


Anmelden zum Antworten