Synopses & Reviews
OpenGL® Shading Language, Third Edition, extensively updated for OpenGL 3.1, 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 using 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 (GLSL) 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, Third Edition, includes updated descriptions for the language and all the GLSL entry points added though OpenGL 3.1, as well as updated chapters that discuss transformations, lighting, shadows, and surface characteristics. The third edition also features shaders that have been updated to OpenGL Shading Language Version 1.40 and their underlying algorithms, including
- Traditional OpenGL fixed functionality
- Stored textures and procedural textures
- Image-based lighting
- Lighting with spherical harmonics
- Ambient occlusion and shadow mapping
- Volume shadows using deferred lighting
- Ward’s BRDF model
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 guide to the
API entry points that support the OpenGL Shading Language.
This boxed set includes:
The best-selling OpenGL ® Programming Guide, Seventh Edition, which covers the latest releases of OpenGL, Versions 3.0 and 3.1, and includes a 16-page color insert. This is the definitive guide to graphics programming with OpenGL, the platform-independent standard for professional-quality 3D graphics.
The popular OpenGL ® Shading Language, Third Edition, which addresses the more integrated nature of the shading language in OpenGL 3.0 and 3.1, with key coverage of special shading techniques, light and shading techniques, light and shadow shaders, and multipass shaders.
Plus: A bonus schematic poster of the OpenGL Machine for both the 3.0 and 3.1 versions of OpenGL
032163764X / 9780321637642 OpenGL Library 7/e
Package consists of:
0321552628 / 9780321552624 OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1 , 7/e
0321637631 / 9780321637635 OpenGL Shading Language, 3/e
0321660609 / 9780321660602 OpenGL Library Poster, 2/e
0321670124 / 9780321670120 OpenGL Library, Fifth Edition (slipcase), 5/e
About the Author
Dave Shreiner, director of graphics technology at ARM, Inc., was a longtime member of the core OpenGL team at SGI. He authored the first commercial OpenGL training course and has been developing computer graphics applications for more than two decades.
Randi Rost was a core contributor to the development of the OpenGL Shading Language and the OpenGL API that supports it. He is also one of the first programmers to design and implement shaders using this technology. Randi works at Intel.
Bill Licea-Kane is principal member of technical staff at AMD and has been chair of the ARB OpenGL Shading Language workgroup since its inception. He has taught several courses in OpenGL Shading Language at both SIGGRAPH and GDC. Bill works in the
OpenGL Group at AMD.
Table of Contents
Foreword to the Second Edition
Foreword to the First Edition
About the Authors
About the Contributers
Chapter 1: Review of OpenGL Basics
Chapter 2: Basics
Chapter 3: Language Definition
Chapter 4: The OpenGL Programmable Pipeline
Chapter 5: Built-in Functions
Chapter 6: Simple Shading Example
Chapter 7: OpenGL Shading Language API
Chapter 8: Shader Development
Chapter 9: Emulating OpenGL Fixed Functionality
Chapter 10: Stored Texture Shaders
Chapter 11: Procedural Texture Shaders
Chapter 12: Lighting
Chapter 13: Shadows
Chapter 14: Surface Characteristics
Chapter 15: Noise
Chapter 16: Animation
Chapter 17: Antialiasing Procedural Textures
Chapter 18: Non-Photorealistic Shaders
Chapter 19: Shaders for Imaging
Chapter 20: Language Comparison
Appendix A: Language Grammar
Appendix B: API Function Reference