DirectX Book Question

Started by
6 comments, last by Jason Z 13 years, 3 months ago
Hey all,

To start off, I am a complete graphics newbie. I've been meaning to learn DirectX, and saw these two books by Frank Luna:

http://www.amazon.co...95041867&sr=8-2
http://search.barnes...10&USRI=directx

The only difference between the two seems to be the "A Shader Approach" of the second one. I'm sure there's a difference, but I'm not sure what (or maybe there's not a difference and I'm just dumb). So my question is, what exactly is the difference? I have no idea what shaders are, so I'm not sure if if the non-shader book would be better to start off, and then go to the second, or if I could just jump right in with the second.

Any suggestions on what book to get/what the differences are would be great. Thanks!
~Kevlar();
Advertisement
Judging from the ISBN this is the very same book. I think that "Shader Approach" is just a typo (have a look at the book's cover).

Luna wrote two books for DirectX 9, one without using shaders, one with using them, the latter called "A Shader Approach". In DX 10 everything is shaders, so you can't "avoid" them. Also, it's commonly discouraged to learn non-shader API nowadays and I agree: Shaders are easier to understand and offer much greater flexibility.

I got the DX 9 Shader Approach Book, so I can't directly vouch for the DX 10, but if's got the same quality (which I expect) go for it. The DX 9 book was fantastic IMO.

Only one thing: From what I hear DX 10 is a bit a bastard thing, and it's encouraged to learn DX 11 directly. Pity, Luna's DX 11 book is not yet done.
I can attest the fact that Frank D. Luna's D3D books are great reference guides, and as soon as his D3D11 book hits the market you should pick it up. For now, stick with the D3D documentation and tutorials at MSDN.
Thanks, Eddy

Judging from the ISBN this is the very same book. I think that "Shader Approach" is just a typo (have a look at the book's cover).

Luna wrote two books for DirectX 9, one without using shaders, one with using them, the latter called "A Shader Approach". In DX 10 everything is shaders, so you can't "avoid" them. Also, it's commonly discouraged to learn non-shader API nowadays and I agree: Shaders are easier to understand and offer much greater flexibility.

I got the DX 9 Shader Approach Book, so I can't directly vouch for the DX 10, but if's got the same quality (which I expect) go for it. The DX 9 book was fantastic IMO.

Only one thing: From what I hear DX 10 is a bit a bastard thing, and it's encouraged to learn DX 11 directly. Pity, Luna's DX 11 book is not yet done.


Yeah, I think what threw me off was that he had two books for DX9, one with and one w/o shaders, and since I didn't know DX10 is all shaders, I figured he did the same for DX10 as he did for 9. Thanks for clearing that up, though.



I can attest the fact that Frank D. Luna's D3D books are great reference guides, and as soon as his D3D11 book hits the market you should pick it up. For now, stick with the D3D documentation and tutorials at MSDN.


Cool, I take a look at that, thanks.
~Kevlar();
Hi.
I have both book intro to 3dprogramming with directx 9.0c a shaders approach and the dx10 one and plus the one before that and I would say that, they are all greate to learn from. The 9.0c and the dx 10 one are both needed because the dx10 book doesn't have the skinning data(bones) as much as the shader approach does.
In a nut shell get both books.thumbs up to Frank D. Luna
I found Wendy Jones' book to be quite good for starting with; it's very lightweight and basic, and you'll quickly enough need to go beyond it, but for the initial heave of just getting started with the API and figuring out what the hell is going on it does it's job well. There's a DX10 version of it here; she also has a DX9 book but I can't find it on Amazon right now.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

Shaders? Huh?
Some additional advice, cause it sounds you are very new to the topic: DON'T try to create something from ground up on your own. Speaking in terms of the DX 9 book this would probably mean understanding the first third (!) of the book to get at least some output. It's really that tedious. And in DX 10, let alone DX 11, they lifted the abstraction considerably. There are "I can't get my triangle on the screen"-threads here on a weekly basis. It sure is possible to go through this battle, but the frustration will spoil the fun IMO. Rather take an already working code (e.g. from tutorials, Luna's code is also available from the link I provided) and work from there: Play around by changing render states and shader source code, etc., to get familiar with both API and shaders.

Further reading suggestions: GPU Gems (some articles and source code are available online, too). Especially the first book has a good introduction to modern pipelines and the logic of shaders. Implementations are mainly for DX 9 level hardware, though. Just be aware that they are using different API's and shader languages, for DX you will use the "dialect" HLSL.
You could also take a look at our (free) D3D10 online book to get started: Programming Vertex, Geometry, and Pixel Shaders

We (a different set of authors) are also in the final stages of writing a D3D11 book, which should be available within the coming months.

This topic is closed to new replies.

Advertisement