Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.
OpenGL Shading Language (3rd Edition) and over 300,000 other books are available for Amazon Kindle – Amazon’s new wireless reading device. Learn more

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
18 used & new from $18.49

Have one to sell? Sell yours here
 
   
OpenGL(R) Shading Language
 
See larger image
 
Pre-order OpenGL Shading Language (3rd Edition) for your Kindle today.

Don’t have a Kindle? Get yours here.
 
  

OpenGL(R) Shading Language (Paperback)

by Randi J. Rost (Author)
4.6 out of 5 stars See all reviews (10 customer reviews)

List Price: $59.99
Price: $59.99 & this item ships for FREE with Super Saver Shipping. Details
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Usually ships within 1 to 3 weeks.
Ships from and sold by Amazon.com. Gift-wrap available.

6 new from $39.93 12 used from $18.49
Also Available in: List Price: Our Price: Other Offers:
Kindle Edition (Kindle Book) $47.99
Paperback (2) $69.99 $56.47 50 used & new from $42.22
There is a newer edition of this item:
OpenGL(R) Shading Language (2nd Edition) OpenGL(R) Shading Language (2nd Edition) 4.6 out of 5 stars (10)
$56.47
In Stock.
What Do Customers Ultimately Buy After Viewing This Item?

Frequently Bought Together

OpenGL(R) Shading Language + OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Version 2.1 (6th Edition) + OpenGL(R) SuperBible: Comprehensive Tutorial and Reference (4th Edition)

Customers Who Bought This Item Also Bought

OpenGL(R) SuperBible: Comprehensive Tutorial and Reference (4th Edition)

OpenGL(R) SuperBible: Comprehensive Tutorial and Reference (4th Edition)

by Richard S. Wright
4.5 out of 5 stars (13)  $50.69
OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Version 2 (5th Edition)

OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Version 2 (5th Edition)

by OpenGL Architecture Review Board
OpenGL(R) ES 2.0 Programming Guide

OpenGL(R) ES 2.0 Programming Guide

by Aaftab Munshi
4.0 out of 5 stars (4)  $48.34
Real-Time Rendering, Third Edition

Real-Time Rendering, Third Edition

by Tomas Akenine-Moller
4.6 out of 5 stars (39)  $71.20
GPU Gems 3

GPU Gems 3

by Hubert Nguyen
4.7 out of 5 stars (3)  $55.99
Explore similar items

Editorial Reviews

Product Description
Until recently, application developers have had no choice but to use the graphics hardware as built by hardware developers. The programming interfaces (APIs) simply exposed the underlying capabilities of the hardware. If the hardware didn't do something quite the way an application wanted it done, there was no alternative but to accept what the hardware could do. More recently, graphics hardware has become more flexible. Developers have been eager to exploit this flexibility. Within the last year or so, it's become clear that the right answer for OpenGL is to expose the new functionality in the form of a high-level programming language - the new OpenGL Shading Language, developed by 3Dlavis, Inc., is the answer. This book is the official guide to this new language. It is both a tutorial and a reference, and is filled with many practical examples that will help developers learn the language as well as create shaders to suit their own needs. The author is at the very center of this technology, serving on the OpenGL ARB and leading the team at 3Dlabs responsible for defining and implementing the next iteration of OpenGL. This is the one book all graphics developers will need in order to learn about this important new advance in graphics programming.

From the Back Cover

"The author has done an excellent job at setting the stage for shader development, what the purpose is, how to do it, and how it all fits together."
—Jeffery GalinovskyStrategic Software Program Manager, Intel Corporation

The OpenGL® Shading Language, a high-level procedural shading language for OpenGL®, is the most important new development in graphics programming to emerge in years. OpenGL is the leading cross-platform 3D-graphics API, and the OpenGL Shading Language allows developers to take total control over the most important stages of the graphics-processing pipeline.

OpenGL® Shading Language is the experienced application programmer's guide to writing shaders. Part reference, part tutorial, this book thoroughly explains the shift from fixed-functionality graphics hardware to the new era of programmable graphics hardware and the additions to the OpenGL API that support this programmability. With OpenGL and shaders written in the OpenGL Shading Language, applications can perform better, achieving stunning graphics effects by utilizing the capabilities of both the visual processing unit and the central processing unit.

In this book, you will find a detailed introduction to the OpenGL Shading Language and the new OpenGL function calls that support it. The text begins by describing the syntax and semantics of this high-level programming language. Once this foundation has been established, the book explores the creation and manipulation of shaders using new OpenGL function calls.

OpenGL® Shading Language features extensive examples of shaders and their underlying algorithms, including

  • Procedural texturing
  • Noise
  • Particle systems
  • Hatching
  • Analytic antialiasing
  • Image processing

The color plate section illustrates the power and sophistication of the OpenGL Shading Language. The API Function Reference at the end of the book is an excellent quick reference to the API entry points that support the OpenGL Shading Language. An enhanced online index allows readers to quickly and easily search the entire text for specific topics.





See all Editorial Reviews

Product Details

  • Paperback: 608 pages
  • Publisher: Addison-Wesley Professional (February 12, 2004)
  • Language: English
  • ISBN-10: 0321197895
  • ISBN-13: 978-0321197894
  • Product Dimensions: 9.2 x 7 x 1.5 inches
  • Shipping Weight: 2.8 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars See all reviews (10 customer reviews)
  • Amazon.com Sales Rank: #845,191 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #40 in  Books > Computers & Internet > Programming > Graphics & Multimedia > OpenGL

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(1)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

 

Customer Reviews

10 Reviews
5 star:
 (9)
4 star:    (0)
3 star:    (0)
2 star:    (0)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
4.6 out of 5 stars (10 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
63 of 64 people found the following review helpful:
5.0 out of 5 stars The Future of OpenGL Programming, February 25, 2004
By Paul Martz (Boulder, CO United States) - See all my reviews
In the 1970s, vector-based graphics gave way to raster graphics, and several raster algorithms demonstrated the new technology's ability to produce breathtaking images. Unfortunately, accelerating these algorithms in hardware proved difficult and costly.

Recently, programmable graphics hardware capable of rendering such algorithms in realtime has become inexpensive and widely available. The result-a small handful of proprietary shading languages created and proposed as standards for this new industry.

OpenGL Shading Language by Randi Rost (Addison-Wesley, 458 pages) describes the OpenGL Shading Language, the first shading language designed as a cross-platform open standard by a group of graphics hardware and software vendors.

The author is a veteran of the computer graphics industry. Rost started programming graphics on an Apple II in the late 1970s. He was working on programmable graphics hardware as early as 1983, when programmable graphics hardware meant little more than a framebuffer with a microcode interface.

Graphics hardware has advanced dramatically since then and continues to advance rapidly today. Most modern 3D hardware supports some type of programmable interface, and should support the Architectural Review Board (ARB)-approved OpenGL Shading Language in the near future. "We think the hardware designs are moving quite rapidly," said Rost. "It should only be a generation or two before all OpenGL hardware vendors fully support the OpenGL Shading Language."

The first chapter is a whirlwind overview of OpenGL. You might be tempted to skip this chapter. But before you do, consider that the author is one of only a few who have contributed to every major revision of OpenGL-who better to learn from? If you're a beginner or intermediate OpenGL programmer, you'll certainly learn something in this brief review.

Chapters 2 through 7 introduce the reader to the OpenGL Shading Language, covering topics such as language semantics, built-in functions, and OpenGL entry points for specifying shaders.

Chapter 8 discusses shader development and performance issues. As you might expect from a book on a shading language, much of the performance discussion concerns shaving cycles from vertex- and pixel-shaders. The information is practical and not obvious even to intermediate programmers, such as using min() or max() instead of clamp() when you know the variable will only exceed one end of a range. However, I found little discussion on how a developer might determine which stage of the rendering pipeline is the performance bottleneck. Since this subject is considered black magic by many young and enthusiastic graphics developers, Rost could have added value to his book with a short section on this subject.

In programming, a few lines of code are worth a thousand words. Rost demonstrates this principle in chapter 9 where he provides shader listings for implementing core OpenGL functionality. The OpenGL Specification is the ultimate definition of OpenGL internal functionality, but the spec is mostly text and formulas, with only a few code listings. A programmer can quickly learn what OpenGL is doing under the hood by reading through the listings in chapter 9. These well-written, concise, and efficient examples of shader code are both illuminating and instructive.

Chapters 10 through 16 provide the computer graphics developer with real-time working OpenGL Shading Language source code for implementing several major computer graphics algorithms and techniques from the past 25 years. Topic areas include lighting, Phong shading, texture mapping, bump mapping, multi-texturing, procedural texture mapping, lattice shaders, noise, turbulence, shadows, animation, particle systems, antialiasing, hatching and other non-photorealistic techniques, vertex and image blending, image convolution, and many more.

These examples demonstrate the range of OpenGL Shading Language applications, and give developers a basis for writing new shaders. Rost's explanations of the algorithms are easy to read and comprehend, and demonstrate the depth and breadth of knowledge he has accumulated during his 25-year career in graphics.

"Designing and implementing programmable graphics hardware and a compiler for the OpenGL Shading Language required a lot of hard work by everyone involved," said Rost. "But with those pieces in place, it turned out to be remarkably easy to write shaders for a variety of interesting shading tasks. When we got these shaders working for the first time, it was a jaw-dropping experience."

Conspicuously missing is any mention of global illumination algorithms such as ray tracing and radiosity. Such scene-based algorithms present obvious challenges to vertex- and pixel-based shading languages. Rost confessed they have a rough ray-tracing demo that was not ready for publication when this book went to press. He expressed optimism about the OpenGL Shading Language's ability to accelerate programs of this type. "In future revisions of hardware, we'll be able to implement more interesting algorithms [than currently appear in this book]."

While reading OpenGL Shading Language, I often found myself noting similarities and differences between the OpenGL Shading Language and interfaces to other programmable graphics hardware I've used. The book's final chapter covers this topic by comparing and contrasting the OpenGL Shading Language to current commercial shading languages, such as RenderMan, ISL, HLSL, and Cg.

Two appendices serve as useful reference material. Appendix A covers OpenGL Shading Language grammar, and Appendix B documents OpenGL entry points for creating and managing shaders. The book also contains an index, a glossary, an extensive bibliography, and several diagrams and color images.

In general, the computer industry often provides two solutions, one proprietary and the other an open standard. As the only open standard shading language available that is designed for modern graphics hardware, the OpenGL Shading Language is certain to be around for several years to come. OpenGL Shading Language stands on its own as both a programming guide and reference manual for this significant new industry standard.

However, this book goes further by providing real-time examples of classic computer graphics techniques. OpenGL Shading Language is a must-have algorithm book that should be on every computer graphics developer's bookshelf.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
11 of 13 people found the following review helpful:
5.0 out of 5 stars Excellent guide to OpenGL Shading Language, February 17, 2006
By calvinnme "Texan refugee" (Fredericksburg, Va) - See all my reviews
(TOP 10 REVIEWER)      
The recent trend in graphics hardware has been to replace fixed functionality with programmability in areas that have grown exceedingly complex (e.g., vertex processing and fragment processing). The OpenGL Shading Language has been designed to allow application programmers to express the processing that occurs at those programmable points of the OpenGL pipeline. Independently compilable units that are written in this language are called shaders. A program is a set of shaders that are compiled and linked together. The OpenGL Shading Language is based on ANSI C and many of the features have been retained except when they conflict with performance or ease of implementation. This shading language is without a doubt the most important addition to OpenGL since its inception, and this book provides an excellent guide to programming with it. The author was one of the primary contributors to the development of the language, and he provides a well-written and insightful explanation of the language and its use.
The book begins with a review of OpenGL basics, followed by an introduction to shaders and how they fit into the pipeline. It then covers the language itself, including data types, operators, interaction with the OpenGL state machine and fixed function pipeline, built-in functions, and more. It also introduces and explains the OpenGL APIs needed to use shaders.
The last half of the book focuses on shader development, including general process and workflow, and coverage of many specific techniques, such as procedural textures and GPU-based animation. It even includes a section on implementing the fixed function pipeline using shaders. The book ends with a handy comparison of OpenGL Shading Language with other shading languages, such as Cg, HLSL, and Renderman and a couple of appendices providing a language grammar and API reference.
I particularly liked chapters 6 through 8, which take you from a simple shading example -"brick"- through the specific steps of shader development that you would need to master regardless of the API you are using. Also the chapters on procedural textures and noise and the accompanying code examples helped clear up some matters that were murky when I read "Texturing & Modeling: A Procedural Approach" by Ebert et al. In summary, I highly recommend this book to anyone interested in implementing software shading, both from the standpoint of OpenGL and from the standpoint of the design process itself. I notice that Amazon does not show the table of contents for the second edition, so I do that here:
Chapter 1. REVIEW OF OPENGL BASICS
OpenGL History; OpenGL Evolution; Execution Mode; The Frame Buffer; State; Processing Pipeline; Drawing Geometry; Drawing Images; Coordinate Transforms; Texturing;

Chapter 2. BASICS
Introduction to the OpenGL Shading Language; Why Write Shaders?; OpenGL Programmable Processors; Language Overview; System Overview; Key Benefits;

Chapter 3. LANGUAGE DEFINITION
Example Shader Pair; Data Types; Initializers and Constructors; Type Conversions; Qualifiers and Interface to a Shader; Flow Control; Operations; Preprocessor; Preprocessor Expressions; Error Handling;

Chapter 4. THE OPENGL PROGRAMMABLE PIPELINE
The Vertex Processor; The Fragment Processor; Built-in Uniform Variables; Built-in Constants; Interaction with OpenGL Fixed Functionality;

Chapter 5. BUILT-IN FUNCTIONS
Angle and Trigonometry Functions; Exponential Functions; Common Functions; Geometric Functions; Matrix Functions; Vector Relational Functions; Texture Access Functions; Fragment Processing Functions; Noise Functions;

Chapter 6. SIMPLE SHADING EXAMPLE
Brick Shader Overview; Vertex Shader; Fragment Shader; Observations;

Chapter 7 OPENGL SHADING LANGUAGE API
Obtaining Version Information; Creating Shader Objects; Compiling Shader Objects; Linking and Using Shaders; Cleaning Up; Query Functions; Specifying Vertex Attributes; Specifying Uniform Variables; Samplers; Multiple Render Targets; Development Aids; Implementation-Dependent API Values; Application Code for Brick Shaders;

Chapter 8. SHADER DEVELOPMENT
General Principles; Performance Considerations; Shader Debugging; Shader Development Tools; Scene Graphs;

Chapter 9. EMULATING OPENGL FIXED FUNCTIONALITY
Transformation; Light Sources; Material Properties and Lighting; Two-Sided Lighting; No Lighting; Fog; Texture Coordinate Generation; User Clipping; Texture Application;

Chapter 10. STORED TEXTURE SHADERS
Access to Texture Maps from a Shader; Simple Texturing Example; Multitexturing Example; Cube Mapping Example; Another Environment Mapping Example; Glyph Bombing;

Chapter 11. PROCEDURAL TEXTURE SHADERS
Regular Patterns; Toy Ball; Lattice; Bump Mapping;

Chapter 12. LIGHTING
Hemisphere Lighting; Image-Based Lighting; Lighting with Spherical Harmonics; The *erLight Shader;

Chapter 13. SHADOWS
Ambient Occlusion; Shadow Maps; Deferred Shading for Volume Shadows;

Chapter 14. SURFACE CHARACTERISTICS
Refraction; Diffraction; BRDF Models; Polynomial Texture Mapping with BRDF Data;

Chapter 15. NOISE
Noise Defined; Noise Textures; Trade-offs; A Simple Noise Shader; Turbulence; Granite; Wood;

Chapter 16. ANIMATION
On/Off; Threshold; Translation; Morphing; Other Blending Effects; Vertex Noise; Particle Systems; Wobble;

Chapter 17. ANTIALIASING PROCEDURAL TEXTURES
Sources of Aliasing; Avoiding Aliasing; Increasing Resolution; Antialiased Stripe Example; Frequency Clamping;

Chapter 18. NON-PHOTOREALISTIC SHADERS
Hatching Example; Technical Illustration Example; Mandelbrot Example;

Chapter 19. SHADERS FOR IMAGING
Geometric Image Transforms; Mathematical Mappings; Lookup Table Operations; Color Space Conversions; Image Interpolation and Extrapolation; Blend Modes;

Chapter 20. REALWORLDZ
Features; RealWorldz Internals; Implementation; Atmospheric Effects; Ocean; Clouds;

Chapter 21. LANGUAGE COMPARISON
Chronology of Shading Languages; RenderMan; OpenGL Shader (ISL); HLSL; Cg;
Appendix A. Language Grammar
Appendix B. API Function Reference


Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
8 of 9 people found the following review helpful:
5.0 out of 5 stars Fine resource, April 27, 2004
This book is excellent. It's easy to read, has solid examples in code and uses graphics sparingly (for a book on graphics) and effectively. Especially when it comes to graphics that explain the technology. For example, the graphics pipeline in chapter two is really handy.

The first two chapters stand out as a nice introduction to the topic and to the shading language in particular. After that the book is an on-and-off introduction and reference that will bring you up to speed today and act as a reference later on.

If I have one complaint it's that the reference materials, particularly in Appendix B could have been formatted and cross referenced a little better. As it stands they feel more like slightly reformatted UNIX man pages.

For those that need this book, and you know who you are, this an invaluable reference, and it's well written to boot.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
Ad
 
Most Recent Customer Reviews

1.0 out of 5 stars Not as useful as they're saying
By and large, the reviews here have found this book to be a great resource, to have helpful examples, and perhaps is THE book to have for all things GLSL. Read more
Published 6 months ago by Sariel V

5.0 out of 5 stars Orange Book
I definitely recommend this book for anyone working with OpenGL's new Shading Language. I would, however, say that probably the most difficult part of working with GLSL is... Read more
Published on March 8, 2007 by Scott Johnson

5.0 out of 5 stars A little chunky, but a good necessary work
I'm not a fan of the 'group of papers' style of book. But this book pulls it off nicely. The text is consistenly good throughout. Read more
Published on March 8, 2006 by Jack D. Herrington

5.0 out of 5 stars do your own shading?!
Twenty years ago, I used to program graphics on an Evans and Sutherland PS340. It was then one of the top of the line graphics computers (costing $100k). Read more
Published on February 8, 2006 by W Boudville

5.0 out of 5 stars Joins the OpenGL canon
The OpenGL Shading Language is without doubt the most important addition to OpenGL since its inception, and this book provides an excellent guide to programming with it. Read more
Published on April 12, 2005 by Dave Astle

5.0 out of 5 stars The Best
I own a copy of this book. It's very well written, easy to understand, make learning shading language an ease. Wish the author will continue to write more books :)
Published on March 28, 2005 by faculaganymede

5.0 out of 5 stars Excellent book about realtime shader development
For beginners, the books gives an very good introduction into the OpenGL shading language. It starts with giving an overview over the previous OpenGL rendering architecture,... Read more
Published on March 3, 2004 by F. Schamel

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]

   


Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Let Toro Clear the Snow

Let Toro Clear the Snow
Rely on Toro for top-quality snow throwers and power shovels to make snow removal a breeze.

Shop all Toro

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Smoke Signals

Shop for Chimney Maintenance Products
Since everybody loves a wood fire on a cold evening, make sure to maintain your chimney with regular care and cleaning.

Shop chimney care products

 
Ad

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Free
Free by Chris Anderson
$0.00
Paranoia
Paranoia by Joseph Finder
$0.00
The Adventures of Sherlock Holmes
The Adventures of Sherlock Holmes by Arthur Conan, Sir, 1859-1930 Doyle
$0.00
Glenn Beck's Common Sense
Glenn Beck's Common Sense by Glenn Beck
$6.59

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates