Suche gutes Buch zum Einstieg in DX 11

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    Suche gutes Buch zum Einstieg in DX 11

    Hallo zusammen,

    ich suche ein gutes Buch für den Einstieg in DirectX 11. 8-)

    Gut wäre eines, das auch gleich C++ mit vorstellt. Falls nicht, würde ich mich auch über einen Buchvorschlag freuen, der den Umstieg von vb.net auf C++ ermöglichen würde!

    Danke schonmal!
    MrWebber

    EDIT: Wichtig ist mir vorallem, dass der Code und die (wahrscheinlich vorliegenden) Beispielprojekte mit den aktuellen SDKs und Windows 7 fehlerlos funktionieren. Das hatte ich mit meinem letzten Buch und hat mich sehr demotiviert! (konnte nicht kompilieren, weil Befehle gefehlt haben; wenn mans kompilieren konnte, traten dauernd fehler auf!) :pinch:

    Variablen über das Internet senden? [VB.NET] Universal Ticket.dll :thumbup:
    Lasse deine Programme selbstständig lernen! [VB.NET] Brain.dll
    :thumbsup:

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „mrwebber“ ()

    Ein Buch über den Umstieg wirst wohl kaum finden, weil die beiden Sprachen absolut nichts gemeinsam haben, außer das es Programmiersprachen sind. Das wäre ähnlich wie ein Buch was dir den Umstieg von Fahrradfahrer auf Jet-Pilot ermöglichen würde.

    C++ musste von grundauf neu Lernen. Was dir jedoch hilft wenn du bereits gut Programmieren konntest und ich meine richtiges Programmieren und nicht zu wissen wenn ich dies und jenes Tippe passiert dies und das.

    Was jedoch einen guten Programmierer ausmacht ist nicht nur die funktionierenden Beispiele abtippen sondern auch bei Fehlern selbstständig Fehlersuche zu betreiben und im Netz suchen um diese zu beheben.
    Und vorallem warum DX11?

    Soweit ich weiß sind infos dazu ehr rar.
    Nur die Hersteller Bibliotheken und ganz wenige Beispiele von Grafikkarten Hersteller die damit neue Techniken präsentieren.
    Und diese beispiele kannste an einer Hand abzählen.

    Außerdem wenn du nicht gerade ein Genie bist, ist wird dein Ergebniss mit DirectX 11 nicht besser aussehen als das mit 9 oder 10.
    (Bedingung, du arbeitest alleine, bei einem organisierten und erfahrenen Team wäre dies natürlich nicht der Fall).
    Jap. Nach deiner Definition bin ich ein guter Programmierer. (was vb.net betrifft :D) Mit C++ kenne ich mich 100% nicht aus. Kennt dann eben jemand ein gutes Einstiegsbuch in C++ und dann eines für DX 11 mit C++?

    @Dodo: Ich dachte C++ wäre objektorientiert und objektorientierte Sprachen hätten sehr ähnliche Grammatik, nur unterschiedliche Vokabeln, wenn du verstehst, was ich meine?

    EDIT: Okay, von mir aus auch DX 10, aber das sollte alles funktionieren mit aktuellen Versionen (Siehe EDIT im ersten Post)

    Variablen über das Internet senden? [VB.NET] Universal Ticket.dll :thumbup:
    Lasse deine Programme selbstständig lernen! [VB.NET] Brain.dll
    :thumbsup:
    Nur OOP bringt absolut nichts. Bei C++ musst du dich selbstständig um das Aufräumen kümmern, damit du dir nicht den Speicher zumüllst, bei VB nimmt dir der Garbage Collector sehr sehr vieles ab.
    Die Vokabeln sind weitesgehend die gleichen, zumindest wenn man den Syntax ansieht. Ich kann sehr gut PHP und mit Java komme ich auch gut klar, mit C++ aber was Form Anwendungen angeht überhaupt nicht, obwohl sich der Syntax kaum unterscheidet (im gegensatz zu VB).
    Libraries schreibe ich in C++ das ist meist nicht das Problem.

    Bevor du irgendetwas mit DX machst, solltest du dich weithingehend mit C++ auseinandersetzten. Du wirst kein Buch oder irgendwas finden wo dir auf anhieb beides beigebracht wird. Weil DX ist absolut kein Einsteigerthema, auch nicht in VB. Dafür werden schon fundierte Kenntnisse der Programmiersprache benötigt.

    Das mit dem immer Funktionieren kannst du aber nicht vorraussetzten, jede PC Konfiguration ist anders und gerade sowas, was an die Hardware geht verursacht Fehler. Davor sind selbst die guten Programmierer nicht machtlos, sieht man ja das selbst so manches Game trotzdem mal abkacken kann.
    Aus einem Buch oder Tutorials kannst du aber lernen was diese oder jene methode des SDK macht, wie man dies oder jenes anzuwenden hat. Dies alles zu verknüpfen liegt dann an dir und eben Fehler zu interpretieren und zu lösen. Gerade dadruch lernst du unheimlich viel. Von nur Beispielen abtippen, es für deine Bedürfnisse ändern bringt absolut nichts, da lernst du nichts von, da du nicht weißt was jede einzelne Zeile deines Programm genau dort tut.
    Genau, du hast recht. Aber wenn ich kein Buch (erklärten Beispielcode) habe, kann ich gar nicht erst anfangen, eigenen Code zu schreiben. Du gehst leider davon aus, dass ich absoluter Programmieranfänger bin. Das stimmt so nicht. (weiß aber auch nicht, wie ich das beweisen sollte^^)

    Ich habe ein "DX mit VB.net"-Buch und verstehe auch jede Zeile (!), aber das lässt sich nicht anwenden, weil sich der Syntax geändert hat und der Verlag keine "alte" Version des SDKs auf die CD gepackt hat.
    Die Theorie hat mich begeistert, dass ich unbedingt auch die Praxis testen möchte.
    Und ein altes DX zu lernen, finde ich nicht gut, weil meine Programme dann, wenn ich's wirklich kann, nicht mehr "aktuell" sind. (Ich hatte schon öfter Probleme mit alten DX-Anwendungen, die einfach nicht mehr liefen)

    EDIT: Kommen wir zurück zum Thema:

    Ich suche:

    * Ein C++ Einstigerbuch (das ich schneller als ein Anfänger verstehen werde)
    * Ein DirectX-Buch mit C++ (möglichst der Version 10), das alle Grundlagen lehrt

    Variablen über das Internet senden? [VB.NET] Universal Ticket.dll :thumbup:
    Lasse deine Programme selbstständig lernen! [VB.NET] Brain.dll
    :thumbsup:
    Guck für Bücher einfach mal bei Amazon, les dir dabei die Rezessionen durch und fertig.
    Wenn du nicht einmal Bücher selber finden kannst, kannste es echt vergessen.

    Und wenn du nur Empfehlungen zu einem Buch gesucht hast, vormuliere das auch so (ansonsten kommt das falsch rüber).
    Wobei in einem Vb Forum gibt es höchstwahrscheinlich nicht so viele die dir ein C++ Buch empfehlen können.

    Eistee schrieb:

    Und wenn du nur Empfehlungen zu einem Buch gesucht hast, vormuliere das auch so (ansonsten kommt das falsch rüber).

    Sorry, tut mir leid. Ja ich habe Empfehlungen gesucht!

    Wobei in einem Vb Forum gibt es höchstwahrscheinlich nicht so viele die dir ein C++ Buch empfehlen können.


    Naja, ich dachte im VB-Programmierforum wäre es wahrscheinlich, dass jemand auch schon mit C++ gearbeitet hat.

    Gut, ich schau bei Amazon, sollte ich DX9 vermeiden (hab ne DX11 Graka) oder sollte das noch klappen? Bei meinem alten DX 9 Buch geht fast nix mehr ... (was wahrscheinlich nicht an der Graka liegt ;) )

    MrWebber

    Variablen über das Internet senden? [VB.NET] Universal Ticket.dll :thumbup:
    Lasse deine Programme selbstständig lernen! [VB.NET] Brain.dll
    :thumbsup:
    Afaik läuft selbst die Source Engine nur auf DX9. DX10 scheint nicht gerade weiter als 9 zu sein, deswegen wirds kaum genutzt. Ich würde erstmal mit DX9 anfangen.
    Ein Buch das C++ und DX einführt wirds wohl nicht geben. Lern C++, dann DX
    Okay danke!

    EIDT:
    Wegen C++ : gibts da nicht verschiedene? fällt mir grad ein ... ist das richtig amazon.de/Jetzt-lerne-Visual-2…TF8&qid=1311856299&sr=1-9
    (sorry hab von c++ null ahnung :D)
    Sowas für DX amazon.de/3D-Spieleprogrammier…/ref=cm_cr_pr_product_top

    Variablen über das Internet senden? [VB.NET] Universal Ticket.dll :thumbup:
    Lasse deine Programme selbstständig lernen! [VB.NET] Brain.dll
    :thumbsup:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mrwebber“ ()

    also ist das amazon.de/Jetzt-lerne-Visual-…11856299&sr=1-9 das falsche
    ich guck mal nach den anderen büchern

    EDIT: Sowas scheint geeignet zu sein: amazon.de/product-reviews/3827…ts=0&filterBy=addFiveStar oder nicht?

    Variablen über das Internet senden? [VB.NET] Universal Ticket.dll :thumbup:
    Lasse deine Programme selbstständig lernen! [VB.NET] Brain.dll
    :thumbsup:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mrwebber“ ()

    Also mein Tipp:
    1. Beschäftige dich intensiv mit C++ (du musst nichtmal C++ benutzen, du kannst auch SlimDX benutzen. Wenn du es gut anstellst ist das sogar viel performanter als man es von .Net erwarten würde ;))
    2. Lese ein Buch über Spieleprogrammierung nicht wie man DX bedient. Hier kann ich dir Game Coding Complete von Mike McShaffry sehr empfehlen.
    3. Wenn du dann immernoch Spiele machen willst, beschäftige dich intensiv mit DX9, da du dort die ganzen Basics lernst wie was funkitioniert.
    4. Arbeite dich über DX10 zu DX11 hoch. Es gibt keine sehr großen Unterschied zw. DX10 und DX11, daher ist der Umstieg dort sehr leicht.

    Ich würde dir empfehlen noch nicht DX11 zu benutzen, ganz einfach desshalb weil die Hardware noch nicht sehr verbreitet ist. Bei den NVidea Karten gibt es erst ab GeForce GTX 400ern DX11 unterstützung. Wenn du also möglichst viele Leute erreichen willst solltest du lieber zu DX9 oder DX10 tendieren, wobei DX9 immernoch am weitesten verbreitet ist.

    EDIT:
    Bitte denke nicht das der meiste Teil eines Spieles das Rendern ausmacht. Tatsächlich macht es nur einen relativ kleinen Teil vom Programmieraufwand aus. Der größte Teil ist immernoch die Logik. Bei der Performance ist meistens das Rendern ganz vorn gleich gefolgt von der AI.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „progglord“ ()

    Hi
    Microsoft liefert auch ganz nette Beiträge dazu. Schau dir dazu mal die How-To's an, die mit den SDKs mitgeliefert werden. Die sind relativ interessant. Außerdem werden auch die neuen Features von den DirectX-Versionen aufgezeigt.

    @progglord:
    Wenn man sehr viel Wert auf die Grafik legt, ist schon ein aufwändiger Teil für Rendering reserviert. Um Performancesteigerungen zu erkaufen, gilt, dass man sehr viele Optimierungen durchführen muss. Außerdem ist das Programmieren und Implementieren von Shadern z.B. auch relativ aufwändig, wenn man die dynamisch an die Welt anpassen will.

    Gruß
    ~blaze~
    @progglord:

    Da hast du recht, aber wenn ich nicht Rendern kann, kann ich auch kein 3D-Spiel erstellen. (Teufelskreis :D)
    Danke für den Buchvorschlag! (ist Englisch?? Das ist zum Einstieg wegen Verständnis glaub ich keine optimale idee, trotzdem danke)

    Variablen über das Internet senden? [VB.NET] Universal Ticket.dll :thumbup:
    Lasse deine Programme selbstständig lernen! [VB.NET] Brain.dll
    :thumbsup:
    Wenn du DX11 machen willst, solltest du dich an Englisch gewöhnen :D. Zu DX9 gibt es noch deutsche Bücher (nicht immer die besten...), aber zu DX10 und DX11 gibt es glaube nur die Samples (DX SDK und NVidea Samples) und MSDN und die Samples sind alle Englisch. Zudem bekommst du auch keine guten Bücher zu Spieleprogrammierung (ohne Rendern) in deutsch, leider.
    Wenn man sich auf DX11 stürzt, muss man allerdings wohl auch die Dinge benutzen, die es mit sich bringt, sonst kann ich ja auch DirectX 10 oder evtl. auch 9 verwenden, oder? Ich mein Tessellation z.B. benötigt halt mal DirectX 11 und damit kann man super grafische Effekte erzielen, die man aber dann halt fast auch verwenden MUSS, wenn man schon auf dem neusten Stand arbeitet, den kaum jemand unterstützt.

    Gruß
    ~blaze~