Jump to content
  • Advertisement
Sign in to follow this  
GiantPaul

Which books should I buy to Learn DirectX?

This topic is 4435 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've read a book already which talked about all subsets of DirectX:Direct3D,DirectInput,DirectMusic... Is it better to get a book about each subset instead of one about everything? Which book combos would cover everything from setting up a window, teach the 3d pipeline, and go into topics of filtering, shaders, reflections, water, special effects. Or is it possible to learn everything down to the latest special effects on the internet? Also do books go into how to do loading models like .x files?

Share this post


Link to post
Share on other sites
Advertisement
If you want to learn DirectX it is important that you first know C++ fairly well; enough to understand what each statement in a DX sample application does, in the C++ sense. (I'm assuming you want to learn to write DirectX stuff in C++.)

Once you know C++ well enough to follow the source in the basic Direct3D tutorials in the DXSDK for instance (Microsoft DirectX SDK\Samples\C++\Direct3D\Tutorials), you should first master those basic tutorials and then move on to more advanced topics. However, it will take a while until the internet lacks of enough "new stuff" so you need to buy a book.

My advice is that you buy yourself a good C++ book to keep as a reference as you read through the basic tutorials in the DXSDK, and then use the DXSDK and the internet to advance your DirectX knowledge.

Share this post


Link to post
Share on other sites
I personally learned from a book, "Special Effects Game Programming With Directx", by Mason McCuskey. I didn't know a thing about directX, just knew C++ reasonably well. This book includes a nice selection of special effects (it does Water (both 2d and 3d), fire, particle systems, pixel shaders, lens flares, projectiles, etc) as well as enough information on DirectInput and DirectPlay to get started.
^^ look at that, nested parenthesis.. I didn't even notice until now...

It includes myriad complete programs demonstrating what you are learning, so you can actually see exactly how everything works.

It starts off very simple, and gets to some reasonably complicated stuff.

This was enough to teach me the basics well enough to be able to use the DirectX documentation.

I still reference this book & source for certain things. Its roughly 900 pages long, plus the source.


The one problem with it is that it is outdated now. Its copyright 2002, and uses DirectX 8.



You might want to look into other books, but make sure to look for ones with plenty of included source, it helped me understand the material much better.

Therefore... I don't strongly recomend this book, because you probably want one on DirectX 9, but make sure you look for a book with at least some of the things that this one included.

Share this post


Link to post
Share on other sites
I know that you need Directx to use graphics and stuff with C++, but what is it actually? Is it something else I have to download? And how do I include it with the normal scripting stuff in microsoft visual studios?

Share this post


Link to post
Share on other sites
DirectX is a library of functions to make various game programming tasks easier.

DirectInput makes getting input from joysticks, keyboard, mouse, etc easier.

Direct3d makes 3d graphics easier

etc..

You would download the DirectX SDK (Software Development Kit), which contains the neccesary .DLLs and header files to include in your project to let you use the DirectX functions.

You can use DirectX for graphics if you want to, but it is generally easier to use SDL (Simple DirectMedia Layer, another library, I found it to be much simpler) for 2d graphics, input, etc. There are plenty of libraries for C++, DirectX just happens to be one of the largest ones, and focuses on game programming

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!