Full description not available
A**Z
Good Introductory Text on the DirectX 11 API, Though Not Very In-Depth
Beginning DirectX 11 Game Programming by Allen Sherrod is, what I’d consider, a great introduction into DirectX programming. Just to be clear, it’s really only an overview of the DirectX APIs (Direct3D, DirectInput, etc.) and not really a graphics or game programming book (despite the title). So there is very little in the way of actual gameplay type programming, as you never really get to the point of having any sort of game demo. In that same respect, you don’t really deal too much with computer graphics theory, though there is some brief coverage of lighting models in regards to shader programming. That said, what is in the text is a good start to learning the DirectX 11 API and getting some foundation knowledge of the Windows platform.The book covers basic Win32 window creation, initializing Direct3D, error handling, basic 2D graphics concepts, font rendering, input handling (with Win32, DirectInput, and XInput), fundamental 3D math (vectors, matrices, coordinate systems), cameras, and 3D models. Overall a good amount of topics, and decent coverage of the building blocks for working with the DirectX 11 SDK. While I wouldn’t say the book is for “beginners” (as nothing involving DirectX or Win32 is really for novices), it doesn’t go into as deep a depth as something like the Frank Luna book (which covers more interesting topics like normal mapping and shadow maps). However, I did find the discussion at the end about loading the OBJ 3D file format into Direct3D to be unique, as most books do not go into this.So do I think Beginning DirectX 11 Game Programming is worth reading? Certainly. It was an approachable read and the Kindle e-book was moderately priced at around $25. For sure, if you are working with the DirectX 11 SDK you will want all the help you can get. Granted, I think some of the other titles I’ve seen had more impressive demos, or deeper coverage, but I felt this was a fine introductory text. I’d even go as far to say that you should read this book first, as it presents the basic knowledge in a way that is much more to the point and not as daunting as some other resources.The one thing, which is both exciting and sad, is that I believe this was the last DirectX 11 book available on Amazon that I haven’t read. I see there are a few newer books covering DirectX 11.1 or later, but I’d really like to stick to straight 11 due to Windows 7 compatibility. So, at this point, I think I maybe have got as far as the introduction books will take me and I will have to just start developing with it and learning as I go. Not a bad problem to have. Although I still have a few general game engine books in my backlog, I’m feeling more confidant about getting into the trenches of development with my engine and this book has definitely helped.
S**.
A Good Beginner's Primer to DirectX11
Being an OpenGL only person, I figured it was time to broaden my horizons and see what DirectX was all about. This book is good about breaking down every parameter to each function using DirectX. For example, it explains what every parameter to D3DX11CreateDeviceAndSwapChain do and what they're used for. There are a few problems with this book that can frustrate the crap out of you if you don't realize it is a small error. I haven't read the book spending hours on each page, but I was able to find a few errors that cause tension when you're learning:1. Page 51: ID3D11Context doesn't exist, it is ID3D11DeviceContext. I searched the header files for ID3D11Context and it simply doesn't exist. If you knew DirectX11, you'd know it was ID3D11DeviceContext instead, but for a beginner who has no idea, it can be a frustrating response when your compiler says "ID3D11Context: undeclared identifier".2. Page 54: OMSetRenderTarget doesn't exist it is OMSetRenderTargets. A very simple error (they left of the 's'), but you can spend a lot of time just hunting down the correct function. Luckily, the following pages contain OMSetRenderTargets correctly, but if you're like me and like to step through the book while programming, it doesn't work.3. Page 118: "A 2D texture uses a single value for its texture coordinate. A 2D texture uses two values for its texture coordinates". I think they meant to say "A 1D texture uses a single value for its texture coordinate." Without any knowledge on graphics programming, this could be a problem.4. This book doesn't show what header files or libraries are required for each function. For instance D3DX11CompileFromFile isn't in d3dcompiler.h, it is in d3dx11async.h. Do I include d3dx11.lib or d3d11.lib? OpenGL (using GLEW) uses opengl32.lib and glew32.lib and that's it.5. This book uses DXTRACE_ERR and DXTRACE_MSG. However, unless you know where these are or which header they're in, you'll have to search for yourself. Also, don't forget the library file dxerr.lib!All in all, this book is a good beginner's book. It doesn't go into depth about graphics programming, it is just about DirectX11 (which you can get from the title of the book). So know what you're getting into. If you don't know anything about 3D programming, this book really isn't for you. If you do know 3D programming, but want to learn the new(er) DirectX11, this book IS for you.
G**N
OK Dx11 entry text
I bought this book to get a quick overview of the major areas of DirectX11 and provide starter code from which to expand. This book satisfies in that respect. If you have in the past been put off 3D programming by mammoth volumes from other authors that take 800 pages to get a single line drawn, fear not; this book will get you drawing textured cubes within 300 pages, with code that compiles.The first 150 pages of the book are structured like a re-write of MSDN. It's a sort of reference book for the API with each major function call described parameter by parameter (perhaps in a little too much detail using space that could have been used for more useful coverage of collisions) preceded by a general introduction to what needs to be achieved. The remaining 200 pages are more interesting and you really start to feel you are getting somewhere!The book makes reference to where code and theory would be applied to games, but does not really cover games code. Contrary to the book's title you will NOT be 'game programming'. You won't be able to build a game after reading the book, but will be able to perform basic manipulations of 3D objects (book focuses on a cube). I've not found any coded game demos within the book. I was disappointed to find that collision detection was not covered beyond a one page mention.Suggestions for readers:You may find that you cannot create a 'device'. Ensure you have the "DirectX debug runtime" installed or comment out the creationFlags temporarily.You'll need to download the source because the author does not give instruction on where to place code snippets making it harder to 'code along with the book'.For more detailed and brutal reviews, see the book on the American site (Amazon.com)
T**E
... this product for my nephew who thinks it's absolutely fantastic. 10/10
I bought this product for my nephew who thinks it's absolutely fantastic. 10/10.
P**L
One Star
Absolute robbery. They examples provided don't actually work. Stay well clear of this series
V**V
Five Stars
Amazing and easy to read programming guide
F**.
Nicht unbedingt für Anfänger geeignet
Ich habe mir dieses Buch als Arbeitsbuch, begleitend zu entsprechenden Vorlesungen in 3D Programmierung und DirectX, zugelegt. Ich wollte damit praktisch am Ball bleiben, um den Einstieg in DirectX so aufmerksam und gründlich wie möglich zu gestalten, ohne gleich wieder einen Riesenwälzer im Regal stehen zu haben. Schlussendlich hat mich dieses Buch (neben ergänzender Mathe Literatur ;) ) durch die Prüfung gebracht.Für dieses Buch spricht der strukturierte step by step Aufbau und die Übersicht die dabei erhalten bleibt (vor allem im Code!). Im Vergleich hierzu stehen diverse Online Tutorials, die mMn allesamt die Eigenart haben, den gesamten Code in ein einziges main.cpp file zu quetschen. Das mag im Falle der Online Tutorials sicherlich seinen Zweck erfüllen, aber die Vorgehensweise in diesem Buch ist deutlich "ordentlicher".Darüberhinaus ist der gesamte Quelltext im Buch abgedruckt. Genauer wird dabei im Vorfeld bspw. auf die einzelnen Objekte der DirectX Initialisierung eingegangen. Diese werden ausführlich erklärt und im folgendem Quelltext dann praktisch angewendent bzw. befüllt und erstellt. So kann man in Ruhe jede einzelnen Haltestelle der Renderpipeline nachschlagen bzw. deren Umsetzung in der praktischen Anwendung nachvollziehen. Manchmal zieht sich das allerdings wie Kaugummi, da so gut wie nichts ausgelassen wird, bevor es zum eigentlichen Anwendungsfall kommt. Ein Nachteil von abgedrucktem Quellcode ist natürlich die Fehleranfälligkeit - Suchmaschine und die Errata zum Buch sollten aber Abhilfe schaffen.Inhaltlich deckt das Buch zwar "nur" die Grundlegenden Objekte und Eigenschaften von DirectX ab, dafür aber sehr gründlich. Die Beispiele Entwicklen sich von Kapitel zu Kapitel weiter und werden Umfangreicher, jedoch geht hier nichts über den simpelsten Anwendungsfall (darstellen eines 2D Objekts, darstellen eines 2D Objekts mit Textur, darstellen von 3D Objekten und Spaces, Shader) hinaus. Wer ein "Engine Cookbook" oder "Best Practices" sucht, der sollte zu einem anderen Buch greifen.Warum nur drei Sterne:Möglicher, hoher Frustrationgrad bei Anfängern. An einigen Stellen muss Code überarbitet werden. Manchmal Tippfehler, fehlende Includes oder Headerfiles, manchmal unterscheidet sich die Struktur des abgedruckten Codes von der aus dem Beispiel, das von der Website runtergeladen werden kann. Häufig wird man als Anfänger erst beim Vergleich feststellen "Ja klar, dass kann ja so auch nicht funktioneiren!". Aber diese Arbeit wird man sich das ein oder andere Mal machen müssen.Größte Hürde in diesem Buch: der Anfang mit dem zu zeichnenden Dreieck und dem ersten Kontakt mit den Shadern. Nirgendwo wird dem Einsteiger erklärt, wie er ein .fx file oder ein eigenes HLSL file zur Benutzung vorbereitet. Wer bis dahin selbst mitgearbeitet hat, wird schnell frustriert sein, dass er das Kapitel irgendwie nicht abschließen kann, weil dieses verdammte Dreieck nicht gerendert wird. So habe ich es zumindestens bei Kommilitonen erlebt.Zudem sollte man durchaus Verständnis für C++ mitbringen, da wie oben bereits erwähnt, durchaus mal Fehlersuche oder auch Eigeninitiative und Umstrukturierung angesagt ist. Daher nicht unbedingt für den blutigen Anfänger, der in die Indie-Szene einsteigen will, geeignet. Also nicht von dem "Beginning" verleiten lassen. Lieber noch ein paar Stunden in C++ und die IDE investieren.Wer denkt, dass er diese Hürden problemlos nehmen kann, der kann ruhig zu diesem Buch greifen, um sich relativ übersichtlich in die Grundlegenden Eigenschaften von DirextX einzuarbeiten.Ergänzend:Zwar sind der Mathematik durchaus ein paar Seiten gewidmet, es ist mMn aber empfehlenswert diese nur als hinweisend zu betrachten und die angesprochenen Themen mit zusätzlicher Mathe-Literatur zu bearbeiten.
Trustpilot
3 weeks ago
1 month ago