Home » Community » Forums » News Discussion » New Book Published Exclusively to GDWiki!
Intel sponsors gamedev.net search:
Control Panel Register Bookmarks Who's Online Active Topics Stats FAQ Search

New Book Published Exclusively to GDWiki!

Merry Christmas! I'm happy to announce that Wolfgang Engel, Jack Hoxley, Ralf Kornmann, Niko Suni and Jason Zink have all worked hard and conspired to bring you Programming Vertex, Geometry, and Pixel Shaders. This book is intended for people that have some background in DirectX8 or DirectX9 programming and want to upgrade their knowledge to DirectX 10. It's also completely free and available on GDWiki!

This book can be considered a first draft, as the team of authors is working on a print revision that will focus on DirectX 11. In addition to using GDWiki to get the content of the book out to you, they also welcome comments and feedback and even Wiki edits so that they can prep the content for the printed and enhanced version. If you've ever wanted to see your name in that Acknowledgments section of a book, stop by and lend a hand!

Great job authors! You've all set a new precedent in terms of content publishing and we at GDNet are happy to have been able to support you throughout this process.



 previous story  next story 
 "New Book Published Exclusively to GDWiki!" Discussion
Post Reply 
Thanks for the christmas present! :D

  User Rating: 1012   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

superb!
This is the best gift I have ever received. There is No book or resource better than that, all in a single place, exactly what I wanted.

I really appreciate it.


  User Rating: 1015   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Very cool, thanks to the authors for the good work.

Now to find enough free time to actually read it...

  User Rating: 1905   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

I've been reading bits and pieces of this. Cool book, but the English in some places is really bad. It has a strange 'translated' feel to it.

  User Rating: 1512   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

It sounds like a really awesome thing, but alas I get the "Internet Explorer cannot display the webpage" error with no usable info or error codes (thanks Microsoft).

  User Rating: 1106   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

WOW another free book!!! thanks for the Christmas gift!!! hope there are more of them to come!!! its always nice to get something for free :D

  User Rating: 1028   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Quote:
Original post by BLiTZWiNG
It sounds like a really awesome thing, but alas I get the "Internet Explorer cannot display the webpage" error with no usable info or error codes (thanks Microsoft).

Yes, unfortunately there seems to be a problem with wiki site right now... Hopefully it will be back up and running soon. Please bear with us until it is operational again...



  User Rating: 1569   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

It's fixed now - you can enjoy the book now!

  User Rating: 1569   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Still getting the same message...

(wow someone rated negatively for not being able to access the wiki? joy!)

  User Rating: 1106   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Quote:
Original post by BLiTZWiNG
Still getting the same message...

(wow someone rated negatively for not being able to access the wiki? joy!)

That is strange, it is coming up alright for me... Perhaps there are intermittent outtages? No worries about the rating - I'll even out the score for hanging in there!


  User Rating: 1569   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Thanks mate, It appears to be working for me now :)

I'm really looking forward to reading the book, shaders are most definitely not my strong point.

  User Rating: 1106   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

It's a great resource... thank to the authors and the gamedev guys!

Since a post without (hopefully constructive) criticism isn't a good one, there are some things I don't agree with about the book organization and I'd like to share my POV.

"environmental effects" contains three techniques which IMHO shouldn't belong to the same chapter. If the following definition: "series of techniques for adding realism and complexity to a given scene rendering" applies to SSAO, it also applies to DOF. SSAO is closer to motion blur/dof than it is to env mapping or particle systems. Again, to me there's something wrong when I read env mapping and particle systems in the same chapter. If a particle system is something you can add "to a given scene rendering", the env mapping is itself part of the scene rendering pipeline. Unless you deal with the tricky part (the construction), which is what the book does... but it doesn't fit into the definition of "environmental effects", since the env texture itself is a prerequisite for the technique. The chapter clearly states "given a rendered scene", but with env mapping the point is different "given a properly built env texture, simply access it this way to improve realism".

The first point leads to this one. Sometimes I feel subjects are coupled when they shouldn't. A perfect example is environment mapping, but also the particle system suffers from this problem. Both effects have separate passes, one about generating textures (the prerequisite), and another one about using those textures to actually produce the desired effect. The problem is reflecting the environment is a "material property". The part covering lighting is very... uhm... light-centric. I'd have liked the book to have a deferred-like approach to the rendering equation. Which doesn't mean to implement a deferred render but to decouple light properties and material properties.
Actually there is a part of the rendering equation which isn't correctly solved: the part about material properties. IMHO it should be made clear to the reader that some properties of a material exist "despite" the lighting model. This includes the fact every point in a surface has a normal and a position. By applying normal mapping/parallax mapping you ARE changing those parameters per pixel. This is true independently from the lighting model in use. This also applies to env mapping, texture mapping, multi texturing.
I'd describe the rendering equation, then I'd say some parts of the equation belong to materials/geometries and some parts belong to lights. What's left are just a couple of variables (each lighting model has its own) linking those properties toghether to solve the rendering equation.

As for the shadow mapping part, it's probably too short. The main problem is about this sentence: "A filter can be applied to the depth testing procedure to smooth the transition from shadowed to non-shadowed pixels and reduce the staircase effect that is inherent in bitmap-based techniques.". It is not clear to the reader when and how he should apply the filter. Actually nobody is telling him he can't blur the depth map and there is no sample shader code for PCF. Since it's a popular topic, I'd decouple the shadowmap generation from the shadowmap rendering. By doing so, reader could be introduced to VSMs or ESMs.
I'd clearly state that blurring a standard depth map is a nonsense and some algorithms allow this operation to be performed.

Again, I want to thank the authors for making it free. It's a great resource.

  User Rating: 1108   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Thank you for the feedback - it seems that you have done a significant amount of reading in the past few days :)

I am responsible for the environmental effects section, so I can comment on those chapters. The organization of these three chapters into one section is somewhat of a stretch, but the topics can be considered techniques for making a scene appear more realistic. Both SSAO and environment mapping can be considered partially object material/lighting effects and partially scene level effects. Particle systems fall more into a scene level effect in my opinion (which is debatable...), which is why all three effects are lumped together into the environmental effect section. They could have been split, but it was a choice we went with...

Aside from the organization of the chapters, do you have any comments on the content of these chapters? I really appreciate you taking the time to respond - it is an important part of the writing process! I look forward to hearing any additional feedback you might have.

  User Rating: 1569   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Quote:
Original post by Jason Z
Thank you for the feedback - it seems that you have done a significant amount of reading in the past few days :)

Yes, I hoped I could enjoy my holidays but I still have some work in my todo list... :( so I'm just looking around to find informations between a VS compilation and another. :(

Quote:

I am responsible for the environmental effects section, so I can comment on those chapters. The organization of these three chapters into one section is somewhat of a stretch, but the topics can be considered techniques for making a scene appear more realistic. Both SSAO and environment mapping can be considered partially object material/lighting effects and partially scene level effects. Particle systems fall more into a scene level effect in my opinion (which is debatable...), which is why all three effects are lumped together into the environmental effect section. They could have been split, but it was a choice we went with...

It's true there's not a straight line between those effects. In the end it's a matter of personal choices. My point is if you consider them as techniques to make a scene look better, wouldn't it be better to move the chapter after the lighting and shadowing parts (I'd move it just before the post processing chapter)? I mean.. you could explain rendering techniques, then tell the reader how he can improve the image and finally dig into post processing stuff.

Quote:

Aside from the organization of the chapters, do you have any comments on the content of these chapters? I really appreciate you taking the time to respond - it is an important part of the writing process! I look forward to hearing any additional feedback you might have.

As for the contents IMHO some topics could deserve more attention.

Since one of the authors is Wolfgang Engel, I'd expect him to introduce the light prepass rendering. You could probably expand the part about deferred rendering pipeline and describe a classic implementation and the light prepass render.

You write "[deferred shading] is a substantial departure from forward rendering (the easiest approach and the one used throughout this section of the book) and requires a different architecture completely. As the name suggests the actual shading of pixels in the final image is deferred until the last possible moment.". You could expand this section with something like:
"This is achieved by splitting the rendering equation into two halves, the material/geometry properties and the light parameters.
Standard geometry rendering is perfomed to multiple render targets which will hold position, normal, texture color. Then, for every light, a mesh representing that light's volume is additively blended into another render target, solving the rendering equation via light parameters and the aforementioned material/geometry render targets."
Or something like that... just a few lines can help people understand the concept behind deferred shading.

I don't agree when you say: "However, the initial overhead for deferred shading is high and any performance gains aren’t seen until a substantial workload (such as a large number of lights or a scene with a lot of overdraw) is being rendered.". Some post processing effects expect you to have a normal map/velocity map/depth map available. In this case, the overhead introduced by a deferred renderer gets lower.

I find the LOD part great, since I'm still working on DX9 and just had a brief look at DX10. It's interesting to see the way you can cull geometry via GS, but I wonder why I wasn't able to find hints about speeding up rendering via a depth prepass. It's not something about lod or culling.. but it's a safe way to easily avoid overdraw.. which was one of the subjects of that chapter. And works on DX9 too. :)

I find the image showing raytraced shadows confusing. There's a correctly rendered brighter spot in the middle of the shadow but the sphere doesn't look like glass. Probably the scene doesn't help but that sphere doesn't look right.

I hope I'll have the chance to carefully read the entire book soon. :)

  User Rating: 1108   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Thanks for the input. I can agree that the environmental effects section should be moved to after the lighting and shadowing sections. I'll forward on your comments about deferred shading. It sounds like you have done some work on the topic :)

Send me a PM if you have additional comments. I'd like to chat a little more about what you are doing in DX9, as my current engine is DX9 and it's always nice to bounce ideas around. I'll also need to get your name for a mention in the print version of the book (if you are interested in having it there, of course).

Thanks again for the suggestions.

  User Rating: 1569   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Undead, thank you for your feedback.

I am responsible for the shadows as well as the LOD section.

I agree that the PCF filtering is a topic worthy of more discussion, and between writing the book chapters and now the SDK documentation has improved a lot in terms of resource compatibility for various tasks (which was the problem earlier), so we can present a working implementation in the next revision. Also, I like the idea of splitting the shadowmap generation and usage into separate sub-chapters, since they indeed are two separable steps; expect to see this idea implemented.

As for the LOD chapter not mentioning early depth culling: I was not able to verify almost anything about this technique's performance in D3D10, because the drivers were too early and contained a lot of bugs during the writing process. Now, this is a good addition to the chapter as I do know that with stable drivers, early z culling is a huge performance booster especially in deferred rendering context. In addition, D3D11 introduces a few nice tricks in this area that I will try to use in practice (and write about it).

I welcome more feedback like this, so we can make the book better. I see the current version as a baseline, somewhat like a coral reef in which the marine life (as in our dear readers) builds structures of their liking (as in good suggestions like these) so that the reef will someday blossom and stand out from the sea of other corals (as in the internet).

Thanks!

  User Rating: 1715   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Quote:
Since one of the authors is Wolfgang Engel, I'd expect him to introduce the light prepass rendering. You could probably expand the part about deferred rendering pipeline and describe a classic implementation and the light prepass render.

That's my plan. It will take a while but I will definitely add a chapter on renderer design.

  User Rating: 1484   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Thank you so much for this. There's nothing much on DX10 so far and I've been dying for a good book like this. Will definitely buy when the book is out.

I've only slightly browse through, but love the LOD. (Will implement that later today). The performance tables in the lighting section is nice too.

Great job. I don't know how you guys manage to work and write books, and not end up sleeping on the couch for a couple of days. I can barely keep up reading them.

Thanks again for your great work.

  User Rating: 991   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

Quote:
Original post by K1nG Gr4H4m

Great job. I don't know how you guys manage to work and write books, and not end up sleeping on the couch for a couple of days. I can barely keep up reading them.



Who says we slept at all?

  User Rating: 1715   |  Rate This User   Send Private MessageView ProfileReport this Post to a Moderator | Link

All times are ET (US)

Post Reply
 previous story  next story 
Forum Rules:
You may post new threads
You may not post replies
You may not edit your posts
You may use HTML in your posts
Jump To:
Administrative Options: