Free Downloads
Real-Time Shader Programming (The Morgan Kaufmann Series In Computer Graphics)

Now that PC users have entered the realm of programmable hardware, graphics programmers can create 3D images and animations comparable to those produced by RenderMan's procedural programs―-but in real time. Here is a book that will bring this cutting-edge technology to your computer. Beginning with the mathematical basics of vertex and pixel shaders, and building to detailed accounts of programmable shader operations, Real-Time Shader Programming provides the foundation and techniques necessary for replicating popular cinema-style 3D graphics as well as creating your own real-time procedural shaders. A compelling writing style, color illustrations throughout, and scores of online resources make Real-Time Shader Programming an indispensable tutorial/reference for the game developer, graphics programmer, game artist, or visualization programmer, to create countless real-time 3D effects. All disc-based content for this title is now available on the Web.* Contains a complete reference of the low-level shader language for both DirectX 8 and DirectX 9 * Provides an interactive shader demonstration tool (RenderMonkeyTM) for testing and experimenting * Maintains an updated version of the detailed shader reference section at www.directx.com * Teaches the latest shader programming techniques for high-performance real-time 3D graphics

Series: The Morgan Kaufmann Series in Computer Graphics

Paperback: 424 pages

Publisher: Morgan Kaufmann (January 14, 2003)

Language: English

ISBN-10: 1558608532

ISBN-13: 978-1558608535

Product Dimensions: 9.5 x 7.4 x 1 inches

Shipping Weight: 2.2 pounds

Average Customer Review: 2.9 out of 5 stars  See all reviews (7 customer reviews)

Best Sellers Rank: #2,254,396 in Books (See Top 100 in Books) #34 in Books > Computers & Technology > Programming > Graphics & Multimedia > DirectX #340 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Structured Design #1152 in Books > Engineering & Transportation > Engineering > Civil & Environmental > Structural

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.

This book was designed to fill a gap caused by the paradigm shift of going from the fixed-function pipeline found in Direct3D and OpenGL to programming shaders. This book is not a collection of shaders. Instead it explains exactly how shaders work so you can go about creating your own. The first part of the book goes into detail of the mathematics of shading and lighting in an effort to illustrate how a shader can be written. The book does contain shaders, though these tend to be basic building blocks, not complete, focused shaders.For example, the author discusses the diffuse vs. specular vs. ambient vs. emissive lighting equations and shows how you can use variations of these particular equations to mix and match to get different effects. Creating shaders isn't a cut and paste operation - it's a creative artistic endeavor, and this book gives you the tools and the theoretical knowledge to understand how to create your own. It's not chock full of creative tricks, though there are a few useful ones. It's more an examination of the basic building blocks of shader writing.The book is focused at both the beginning 3D graphics programmer/artist and the advanced. There's a short section on introductory 3D math such as vertices, points, elementary 3D graphics math, followed by a lengthy chapter on the mathematics of lighting and shading. The book does a good job of explaining the difference between pixel and vertex shading.Next is a chapter devoted to setting-up Direct3D to use shaders including vertex streams. There's a short chapter on current shader resources that can be found on-line including a tool that the author wrote for the book that illustrates the different methods of handling color over-saturation.

Real-Time Shader Programming (The Morgan Kaufmann Series in Computer Graphics) Learning Processing, Second Edition: A Beginner's Guide to Programming Images, Animation, and Interaction (The Morgan Kaufmann Series in Computer Graphics) MEL Scripting for Maya Animators, Second Edition (The Morgan Kaufmann Series in Computer Graphics) Computer Architecture, Fifth Edition: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design) Computer Organization and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) Computer Architecture: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design) Computer Organization and Design, Third Edition: The Hardware/Software Interface, Third Edition (The Morgan Kaufmann Series in Computer Architecture and Design) Computer Organization and Design: The Hardware Software Interface: ARM Edition (The Morgan Kaufmann Series in Computer Architecture and Design) Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th Edition) Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach (Wordware Game and Graphics Library) Real Time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time C/POSIX (3rd Edition) Programming #8:C Programming Success in a Day & Android Programming In a Day! (C Programming, C++programming, C++ programming language, Android , Android Programming, Android Games) Programming #57: C++ Programming Professional Made Easy & Android Programming in a Day (C++ Programming, C++ Language, C++for beginners, C++, Programming ... Programming, Android, C, C Programming) Computer Graphics Through OpenGL: From Theory to Experiments (Chapman & Hall/CRC Computer Graphics, Geometric Modeling, and Animation) Computers as Components, Third Edition: Principles of Embedded Computing System Design (The Morgan Kaufmann Series in Computer Architecture and Design) See MIPS Run, Second Edition (The Morgan Kaufmann Series in Computer Architecture and Design) Routing, Flow, and Capacity Design in Communication and Computer Networks (The Morgan Kaufmann Series in Networking) Computers as Components: Principles of Embedded Computing System Design (The Morgan Kaufmann Series in Computer Architecture and Design) ARM System Developer's Guide: Designing and Optimizing System Software (The Morgan Kaufmann Series in Computer Architecture and Design)