Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Real-Time Shader Programming

Real-Time Shader Programming

List Price: $49.95
Your Price: $49.95
Product Info Reviews

<< 1 >>

Rating: 1 stars
Summary: Where is the content?
Review: Although some of the content is interesting, if feels like it lacks organization and structure. In addition, half the book is a shader reference which seems to almost be ripped from the Microsoft DirectX documentation

Rating: 4 stars
Summary: A good shader intro book
Review: I picked up some of the other book on shaders for DX and it turned out to be a cookie cutter book. There was little explanation on what the shaders were DOING - just source code. I found that frustrating. This book gois into much more explanation of what a shader does and how you program them, so its good for someone leaning how to program shaders. The other book and the new Cg book are more if youre looking for cut and paste. This book did not cover hlsl since hlsl wasnt finished when the book was, but, oddly enough, it does talk about using DX9 and about the DX9 low level language.If you already know shaders or just want source code then look at the other books. This could have had more examples. It did have a big section on the mathematics of light which I found interesting.

Rating: 5 stars
Summary: Excellent introduction to DirectX shaders
Review: If you know very little about DirectX 8 or 9 shader programming this book is an excellent introduction. It is low level assembly only, no Cg or HLSL, but in my opinion you need to know the assembly programming to ensure the best performance of your shaders. The introductory material is good, covering basic things you should know, ambient, diffuse, specular, and Fresnel equations. The second section builds working shaders implementing these basic concepts. The third section is a shader assembler reference. IMO this book is well written and an easy read.

Rating: 4 stars
Summary: A nice introduction to a complex subject
Review: In "Real-Time Shader Programming", Ron Fosner describes the essential elements necessary for developing shaders in a very approachable full color book that spans just over 400 pages. The book includes a CD with a beta version ATI's RenderMonkey and coded examples of many of the shaders discussed in the text.

Shaders are a relatively new option in the rendering pipeline. By taking explicit control over how vertices and pixels are processed by the graphics hardware, a virtually unlimited number of special effects are available to the programmer. Generally, custom lighting, coloring, or texture mapping are used to create a unique look for an application.

Beginning with elementary vector math, the book moves quickly into lighting theory. The lighting chapter highlights the mathematical approximation of physically based lighting using the traditional ambient, specular, diffuse, and emissive colors in a scene. Representations for reflection and refraction are derived from Snell's Law, and Fresnel equations. Finally, non-photo realistic rendering (from cel shading, tonal art maps, and hatching) is covered through pictures and a wealth of external references. The chapter makes for an enjoyable read by providing an understandable background to lighting techniques to non-seasoned graphics programmers.

Fosner describes how to set up the DirectX pipeline to use shaders. While he touches on some of the nuances you're likely to encounter, the DirectX section seemed a bit sparse compared to the earlier chapters. The DirectX setup calls specific to shaders were well documented, however the chapter didn't dwell on creating the pipeline.

In the subsequent chapter, Fosner discusses several current shader creation and visualization tools. The chapter is relatively short in length perhaps due in part to the volatility and newness of cutting edge shader tools. While high level shader tools, like Nvidia's Cg or Microsoft's High Level Shader Language were briefly mentioned, the book instead focused on the shader language primitives. As such, it provided a sound fundamental shader approach that is universal to all higher-level shader implementations.

Having the groundwork firmly in place, Fosner provides a wealth of shader examples. Starting with the minimal vertex shader, additional functionality is layered to build more complex shaders. Sample shaders are developed using the lighting equations presented earlier. While it may take a little time to digest some of the more sophisticated examples, like the cartoon shader, the text provides adequate descriptive detail coupled with helpful color pictures to make it easier.

The final chapter provides a vertex and pixel command reference. Each command describes the supported shader version, usage, and a short example. The book covers shader implementations for both DirectX 8.x and DirectX 9. Differences between the two versions are noted throughout the sample code and reference section. When appropriate, additional notes on specific DirectX versions are also provided. Fosner does a good job of providing references throughout the book for further information on a subject.

While having familiarity with the rendering pipeline, I found this book very approachable and easy to understand despite not being a low-level graphics programmer. The writing and companion tools provided challenged me to explore the world of shaders and attempt to write some of my own. The tools were a great aid, since it alleviated me from having to write my own engine, and instead focus on the actual shader code. Writing in pseudo-assembly may not seem like fun, but it was - especially when you could experiment with one of the pre-coded routines Fosner supplied and view the results of a vertex or pixel shader routine through RenderMonkey instantly.

Shaders will play an increasingly important role in game development as they allow immense visual flexibility with which to create a unique appearance. Fosner's book presents the introductory groundwork necessary for developing custom shaders. For programmers who are new to shaders or want to experiment with different rendering effects, this book is a great place to start.

Rating: 1 stars
Summary: Disappointing
Review: The first half of this book was on basic computer graphics. The second half wasn't much more than a rewrite of Microsofts DirectX documentation. There were only a few pages of shader techniques that I found useful.

Rating: 2 stars
Summary: Terrible book
Review: This is a weird book. The first section covers introductory stuff everyone should know (with lots of typos like botching math sum notation for the definition of the dot product and stating "if the dot product is zero, the vectors are parallel"). The next section covers standard shading equations for raytracers. After that it's very basic "hello world" shader and dx programming followed by filler for various shader tools out there. Then we get to a few basic examples of vertex shaders and 3 intermediate examples of pixel shaders (toon shading, bump mapping, and fresnel) written all written in assembly!! Then the rest of the book is all filler material for the assembly instructions for the old style vertex/pixel shaders. Oh, in case anyone is wondering, this is pretty much a DX 8.1 only book with examples from 1.0 to 1.4 level shaders.


<< 1 >>

© 2004, ReviewFocus or its affiliates