Tuesday 11 February 2014

Direct3D Rendering Cookbook By Justin Stenning

Packt Publishing have asked me to review another book, the Direct3d Rendering Cookbook

I didn’t know where to post this, my many blogs are either XNA (C#), DX11 C++ or Unity3D, or a combination of the three lol, anyway, decided as this is my most recent blog, to post it here, hope it’s not too off topic :P

7101OT_Direct3D Rendering Cookbook

One of the first things I noticed and liked as a .NET developer is that it’s for C# developers using SharpDX. I have never used SharpDX before, have played a little with SlimDX when I was helping out on the ST: Excalubur project (which you should check out, the guys are doing an amazing job with it, check out the Youtube channel too)

Chapter 1

The first chapter lays out the fundamental’s for getting up and running, like most books of this ilk as well as going into the graphics pipeline, and it’s pretty in depth I have to say. The chapter then covers creating your first project using the SharpDX library with great detail and a fair bit of depth.

Chapter 2

Goes into great detail again on setting up your code to render 3D, again, this is quite in depth and a lot of info is given. What I do find odd is that the creation of the renderer code is described as a recipe, I know there are a number of ways to do this, but I would not have had this as a recipe as it’s pretty fundamental to you rendering full stop, it’s something you should have in place, and this chapter should really just be a way of doing it. To me, its more of a preparation step than a recipe…None the less, there is great detail again here.

Chapter 3

We are then given recipes on rendering meshes, we start of creating the mesh in code, then look into some simple lighting techniques and texturing and thankfully (as I think this tends to get missed out a fait bit) it gives and example of loading a mesh from file, and what I do like is that Blender3D is used :D Great stuff..

Chapter 4

Then moves on to skinned meshes, again, this is a great chapter and full of detail :)

Chapter 5

Looks at Hardware Tessellation, some great detail here too, the diagrams are great at for describing the pipeline. It goes on to describe tessellating bicubic Bezier surfaces, refining a mesh with Phong tessellation and loads more.

Chapter 6

Covers normal and displacement mapping, and again, this goes into masses and masses of detail, with some great screen shots

Chapter 7

We take a break from geometry and move on to image processing. There is some awesome stuff in here too, from desaturation, contrast and brightness to implementing box blur, gaussian blur and Sobel edge detection and luminance histograms.

Chapter 8

Covers using a physics engine, and again, I am glad to see BulletSharp being used as I have used it in my own engines, including my XNA Illuminati deferred lighting engine. This chapter also covers rendering waves (personally prefer this being done as a post process) and instanced particles, again another topic close to my heart as again I use them in my own engine.

Chapter 9

Now goes even deeper with rendering on multiple threads and deferred contexts, now, due to me coming from a DX9 background, this was very interesting.

Chapter 10

Moves onto Deferred Rendering, another topic I love having implemented it in XNA :)  Again, masses and masses of detail here, this book has really got me wanting to start writing my own engine again lol

Chapter 11

Covers integrating Direct3D into Windows 8.1 and the use of XAML, this chapter will be of more use to me once I finally get a decent development machine. Hoping to sort that out some time this year :) Again though, lots and lost of details in here.

In Summary…

I loved this book, even if you are not a C# developer, you can port/include these techniques to/in your C++ engine. If you are just starting out, this may not be the book for you, if you have been working with earlier versions of DX and looking for an interesting read, then I don’t think you can go wrong with this book.

I have reviewed a few books by Packt Publishing, and I have to say, they have tended to turn up short, however, the last two books I have reviewed have been truly excellent, keep up the good work :) Check out my last review here.

Where can I get this book?


No comments:

Post a Comment