Book-recommendation for DirectX (9/10?)

Started by
15 comments, last by gekko 15 years, 8 months ago
I am just starting to learn plain SW 3D Programming (including the maths behind). After that, i want to switch and start off with directX programming. Currently i am searching for a good book where this api is well explained and all important aspects are covered. What would you say? should i start using directx9 or directx10? Main target is not programming games (i just want to concentrate on the graphics for now) As i am using Vista and i just program for myself, i tend to go for directX10. Too bad there arent many books, which are specialized for directX10 (Most of them are for 9) i found one: http://www.gamedev.net/columns/books/bookdetails.asp?productid=626&CategoryID=8 but the question is - should i better start with 9, cause there are more options? And could you recommend a book thats well readable for a none native english-speaking person? ;)
Advertisement
I program using DirectX 9.0c. I have found the following two sources to be awesome (one a book, one a link)

3D game programming with DirectX 9.0c - A shader approach (Frank Luna)

and

www.directxtutorial.com

Hope this is of some help to you.
I second 3D game programming with directX9.0c - a shader approach

For directX 10 I purchased Advanced 3d Game programming with directX 10.0 and Beginning DirectX 10 game programming.

Neither of those books are great although if you have never done any graphics programming I would start out with the Beginning book as the Advanced doesn't really cover DirectX 10.0 well at all.
thanks for the suggestions and the tutorial link!

found the book from frank luna at amazon.
But i have a few questions:

1) So this book is recommended even if i want to switch to directx10 in the near future?

2) are there any problems with programming directx9 under vista?

3) are these programs all compatible to directx10? (Sorry if that is a dumb question - but i already had problems running the direct-draw programs of my current book under vista and i dont want that this repeats with the new book)

4) is it easy understandable, even if my motherlanguage isnt english?

thanks in advance
Hi,

I'm going through Direct3D too. I'm also using this book.

Wordware - Introduction to 3D Game Programming With DirectX 9.0 also by (Frank D. Luna)

It's a damn fine one too. Covers all basic topics regarding rendering including mathematics and shading. What its doesn't cover is things like DirectInput and DirectSound. Which in my opinion, only adds to this being a great introductory text. Gets right down to the nitty gritty as it were. Doesn't bother with Win32 programming either (that gets relegated to the appendix at the back of the book :)). There is an assumed knowledge of C++, but really you can pick it up as you go along since its not that advanced.

Good luck.
I would definitely recommend starting with 10 if you can. Most of the 9 books start out by teaching you the Fixed-Function Pipeline, and then only teach shaders in their 'advanced' section - the FFP is entirely gone in 10, shaders are the only way of working, and they're not nearly as 'advanced' as people make them out to be.

You could try Beginning DirectX 10 Game Programming. I've not read it myself but our staff reviewer seemed to have no problems with it.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

Introduction to 3D Game Programming with Direct X 9.0c: A Shader Approach, as far as I remember, doesn't touch the FFP but don't quote me on that. It seems Frank Luna's Direct3D 10 book is actually supposed to come out today according to the publisher info on amazon, although it still says at the top that the book has not been released. Weird. The contents seems to follow the same structure of the 9.0c version but with the added chapter for geometry shaders and other tweaks.
Quote:Original post by superpig
I would definitely recommend starting with 10 if you can. Most of the 9 books start out by teaching you the Fixed-Function Pipeline, and then only teach shaders in their 'advanced' section - the FFP is entirely gone in 10, shaders are the only way of working, and they're not nearly as 'advanced' as people make them out to be.

You could try Beginning DirectX 10 Game Programming. I've not read it myself but our staff reviewer seemed to have no problems with it.

I read the Wendy Jones DirectX book and it's pretty superficial compared to the Frank Luna book. It just covers the basics whereas the Luna book goes quite into depth. If you just want a quick overview introduction the Jones book is okay. Also, Jones book is only about 300 pages whereas Luna book is twice as long at about 600 pages.
If you do get the Luna book though make sure you get the 2nd edition, "Introduction to 3D Game Programming with Direct X 9.0c: A Shader Approach", unless you want to learn the fixed function approach which in that case get the first edition.
Or you could wait for his 3rd edition which covers DX10 although I have no idea when it comes out but I don't think it's anytime soon since last time I checked his message board he had just started working on it?
Anyways, you can check out the website for more info:
Intended Audience

This book was designed with the following three audiences in mind:

* Intermediate level C++ programmers who would like an introduction to 3D programming using the latest iteration of Direct3D--Direct3D 9.0.
* 3D programmers experienced with an API other than DirectX (e.g., OpenGL) who would like an introduction to Direct3D 9.0.
* Experienced fixed function Direct3D programmers who like a Direct3D book taking a shader approach.

Prerequisites

It should be emphasized that this is an introduction to Direct3D, shader, and game programming; it is not an introduction to general computer programming. The reader should satisfy the following prerequisites:

* High School Mathematics: algebra, trigonometry, and (mathematical) functions, for example.
* Competent with Visual Studio: should know how to create projects, add files, and specify external libraries to link, for example.
* Intermediate C++ and data structure skills: comfortable with pointers, arrays, operator overloading, linked lists, inheritance and polymorphism, for example. We also use a small subset of the STL, in particular, std::string, std::vector, and std::list.
* Familiarity with Windows programming with the Win32 API is helpful, but not required; we provide a primer in Appendix A.


[Edited by - daviangel on July 30, 2008 2:59:39 PM]
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
i decided to wait for the new book from luna

Introduction to 3D Game Programming with DirectX 10: A Shader Approach

thx for your help!
oh cool, i didn't know frank was doing a Dx10 book, its not advertised on his site, not updates or anything

Where did you learn about it?

This topic is closed to new replies.

Advertisement