Managed DirectX Graphics And Game Programming Kickstart


In a bit of a shameless plug, i’d like to point out that my book on Managed
DirectX
is available now.

As i’m sure everyone is already aware, the documentation for the Managed DirectX API
left a little to be desired.  My book covers every component of the Managed DirectX
API, including DirectInput, DirectSound, DirectPlay, DirectDraw, but focuses the majority
of the content on Direct3D. 

While the other components are discussed briefly, the Direct3D API is discussed in
much detail.  The book takes you step by step from drawing a simple triangle
on the screen all the way through character animation, and even the high level shader
language. 

There is no other greater source of information on Managed DirectX.  With that,
i’ll end my shameless plug. =)

Comments (20)

  1. Doug says:

    I’m enjoying the book, which I bought last week. It’s pitched just about right for me i.e. it’s not a re-hash of C# and it provides documentation for managed DirectX whose lack had been greatly slowing my progress.

    I drew a bit of a blank on page 12 with the information that the rhw member is the reciprocal of homogenous w. Hopefully later chapters will provide further details! (No need for an explanation, as I searched MSDN and decided I didn’t have to worry about it just yet.)

  2. Lucky Tiger says:

    I don’t have money to buy this book

    Can you send me a copy

    Thank you so much

  3. Marcus Mattingly says:

    I just got the book last week and I am finding it extremely informative. Thanks for not rehashing C# basics. It’s so hard to find books that don’t do that.

    Do you have plans to release any other books?

    Marcus

  4. Tom Miller says:

    Yes, as a matter of fact i do.

    There will be two new books coming this year, an intermiediate game development book, and an advanced game development book. Both using Managed DirectX naturally.

  5. Andy West says:

    I am very impressed so far by your book. I am using it to prototype a game engine with VB.NET. After creating an OpenGL framework, I must say that this is far, far simpler. Thank you for helping to make DirectX accessible to everyone.

    There is a small typo in the Chapter 3 sample code, in the "Texture" project which prevents the application from running.

    tex = New Texture(device, New Bitmap(Me.GetType(), "puck.bmp"), Usage.Dynamic, Pool.Default)

    should be changed to:

    tex = New Texture(device, New Bitmap(Me.GetType(), "puck.bmp"), 0, Pool.Managed)

    The same needs to be done to the next two lines of code as well. I couldn’t find another forum to post errata, so please pass this on if there are any.

    Thanks again.

  6. Andy West says:

    I forgot to mention that the problem is in the VB version.

  7. Martin Sega says:

    The code for the skinned meshes does not work in 9.0b. Frame and MeshContainer classes are not derivable (anymore?), instead, you should use SetUserDataInFrame and SetUserDataInMeshContainer, respectively. Which come, naturally, with absolutely NO documentation with them. It isnt even stated what they do, except what their name gives up. This really pisses me off, pardon my french, cause that code was the single most important factor in deciding to buy this book. Any chance an article with the correct code might show up somewhere?

  8. Tom Miller says:

    It never ceases to amaze me.

    Martin: If you were to actually *read* the book (see the first paragraph on page 4), you’d see that you need the SDK update, *not* 9.0b. It’s even included on the CD for easy installation.

    I’ll never understand people i guess.. They go and buy something, *don’t* install the software included with it, *don’t* read the text to find out if they should then complain when it doesn’t work like it’s someone else’s fault.

  9. Steve says:

    Hi,

    I have not bought this book yet. Actually I havent decided to begin whether eith managed directx or unmanaged. How big is the performance difference between them ?

    I am just curious about how to play compressed music formats like mp3, wma, ogg with managed directsound or directmusic ? Tom, do you describe it in your book ?

    Thx:Steve

  10. Andy West says:

    Just a note regarding my previous post: it turns out that the sample code is not strictly wrong, just that the hardware I was using didn’t have the hardware capabilities the sample expected. It runs fine as is on my GeForce FX 5900. Again, nice book.

    Off topic – isn’t it annoying that it’s called the "SDK update"? As if you have to install the SDK and then update it.

  11. Dan says:

    I have been reading your book and think it’s great! I’m trying to find the latest source code though (not that I’ve found anything wrong with it). Is there a URL that lists errata or has the latest downloadable source code? (My apologies if you’ve already mentioned this somewhere).

    Thanks…

  12. Gary says:

    I’m having problems with several source files from your book. For example, the chapter 13 source Indexed Animation throws 6 compile errors:

    line 424 – FrameDerived cannot inherit from sealed class Microsfot.DirectX.Direct3d.Frame.

    (Same with the MeshContainerDerived class line 437)…

    Any ideas on how to solve these errors? Yes, I have installed the summer update.

  13. Gary says:

    I got it working… I had the summer DX9 update but was using the wrong refrences :) I assumed 1.0.9 was newer than 1.0.19, go figure. Anyway, great book worth every penny!

  14. Brian Reinhart says:

    I love you book, I am working through it right now, and find it extremely helpful. I am also thankful you don’t teach C#, but focus on DirectX. I have a quick question about Chapter 17: Using DirectDraw for 2D Rednering. The objects flicker whenever they bounce off a wall. I have tried playing around with the backbuffer and the spend at which everything is drawn, but I can’t seem to get ride of the flicker. If you or anybody else could help me figure out why it could be flickering, I would greatly appreciate it.

  15. Marc says:

    Will the book ever be translated into german ?

  16. Tom Miller says:

    The ‘flicker’ is caused because the rectangles are going outside the bounds of the screen.. Just change the code that makes the ‘sprites’ bounce to give a few pixel lee-way, and this would go away..

  17. Syd says:

    >> As i’m sure everyone is already aware, the documentation for the Managed DirectX API left a little to be desired.

    Is this a ploy for people to buy your book?

    :p

    As I am not exactly that serious so as to buy books on DX, but still want to play around with it; can you tell the community when the documentation is going to be usable?

  18. Alan says:

    Great book so far, apart from a minor problem I came across.

    Chapter 1 Explains using Normals, for the lighting. Yet in Chapter 3, you ask to use Chapter 1’s code as the base for Vertex’s.

    The code changes dramatically to not use Normals in the lighting scheme (compiles but fails to run if Nomals are left in).

    Otherwise, it’s been the perfect book for me.

  19. Dan English says:

    This is a really useful book… looking forward to the next two! I bought it mainly for the chapter about animated meshes… a very tricky aspect of 3D programming.

    The skinning code works great with the included mesh (tiny.x) but when I export my own mesh (from 3DS), I get an error loading it. I can view the mesh and animation fine using MeshView from the DX SDK. Any suggestions to get my mesh working with the chapter 13 code?

    Thanks, and keep up the great work!!