OpenGL(R) Shading Language
by Rost, Randi J.Rent Textbook
New Textbook
We're Sorry
Sold Out
Used Textbook
We're Sorry
Sold Out
eTextbook
We're Sorry
Not Available
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Table of Contents
| Foreword | p. xxiii |
| Foreword to the First Edition | p. xxvii |
| Preface | p. xxxi |
| About the Author | p. xxxvii |
| About the Contributors | p. xxxix |
| Acknowledgments | p. xli |
| Review of OpenGL Basics | p. 1 |
| OpenGL History | p. 1 |
| OpenGL Evolution | p. 3 |
| Execution Mode | p. l4 |
| The Frame Buffer | p. 5 |
| State | p. 8 |
| Processing Pipeline | p. 8 |
| Drawing Geometry | p. 9 |
| Geometry Specification | p. 9 |
| Per-Vertex Operations | p. 12 |
| Primitive Assembly | p. 14 |
| Primitive Processing | p. 14 |
| Rasterization | p. 15 |
| Fragment Processing | p. 16 |
| Per-Fragment Operations | p. 16 |
| Frame Buffer Operations | p. 17 |
| Drawing Images | p. 18 |
| Pixel Unpacking | p. 19 |
| Pixel Transfer | p. 19 |
| Rasterization and Back-End Processing | p. 20 |
| Read Control | p. 20 |
| Coordinate Transforms | p. 21 |
| Texturing | p. 26 |
| Summary | p. 31 |
| Further Information | p. 32 |
| Basics | p. 35 |
| Introduction to the OpenGL Shading Language | p. 35 |
| Why Write Shaders? | p. 37 |
| OpenGL Programmable Processors | p. 38 |
| p. 40 | |
| p. 43 | |
| p. 47 | |
| Language Design Considerations | p. 47 |
| C Basis | p. 50 |
| Additions to C | p. 50 |
| Additions from C++ | p. 52 |
| C Features Not Supported | p. 53 |
| Other Differences | p. 53 |
| System Overview | p. 54 |
| Driver Model | p. 54 |
| OpenGL Shading Language Compiler/Linker | p. 56 |
| OpenGL Shading Language API | p. 57 |
| Key Benefits | p. 59 |
| Summary | p. 61 |
| Further Information | p. 63 |
| Language Definition | p. 65 |
| Example Shader Pair | p. 65 |
| Data Types | p. 67 |
| Scalars | p. 67 |
| Vectors | p. 69 |
| Matrices | p. 70 |
| Samplers | p. 71 |
| Structures | p. 72 |
| Arrays | p. 73 |
| Void | p. 74 |
| Declarations and Scope | p. 74 |
| Type Matching and Promotion | p. 75 |
| Initializers and Constructors | p. 75 |
| Type Conversions | p. 77 |
| Qualifiers and Interface to a Shader | p. 78 |
| Attribute Qualifiers | p. 79 |
| Uniform Qualifiers | p. 79 |
| Varying Qualifiers | p. 79 |
| Constant Qualifiers | p. 80 |
| Absent Qualifier | p. 81 |
| Flow Control | p. 82 |
| Functions | p. 82 |
| Calling Conventions | p. 83 |
| Built-in Functions | p. 84 |
| Operations | p. 85 |
| Indexing | p. 86 |
| Swizzling | p. 87 |
| Component-wise Operation | p. 87 |
| Preprocessor | p. 90 |
| Preprocessor Expressions | p. 93 |
| Error Handling | p. 94 |
| Summary | p. 95 |
| Further Information | p. 95 |
| The OpenGL Programmable Pipeline | p. 97 |
| The Vertex Processor | p. 98 |
| Vertex Attributes | p. 99 |
| Uniform Variables | p. 100 |
| Special Output Variables | p. 101 |
| Built-in Varying Variables | p. 102 |
| User-Defined Varying Variables | p. 103 |
| The Fragment Processor | p. 104 |
| Varying Variables | p. 104 |
| Uniform Variables | p. 105 |
| Special Input Variables | p. 106 |
| Special Output Variables | p. 107 |
| Built-in Uniform Variables | p. 108 |
| Built-in Constants | p. 113 |
| Interaction with OpenGL Fixed Functionality | p. 114 |
| Two-Sided Color Mode | p. 114 |
| Point Size Mode | p. 115 |
| Clipping | p. 116 |
| Raster Position | p. 117 |
| Position Invariance | p. 117 |
| Texturing | p. 118 |
| Summary | p. 120 |
| Further Information | p. 120 |
| Built-in Functions | p. 123 |
| Angle and Trigonometry Functions | p. 124 |
| Exponential Functions | p. 126 |
| Common Functions | p. 126 |
| Geometric Functions | p. 136 |
| Matrix Functions | p. 138 |
| Vector Relational Functions | p. 139 |
| Texture Access Functions | p. 141 |
| Fragment Processing Functions | p. 144 |
| Noise Functions | p. 145 |
| Summary | p. 147 |
| Further Information | p. 147 |
| Simple Shading Example | p. 149 |
| Brick Shader Overvie | |
| Table of Contents provided by Publisher. All Rights Reserved. |
Excerpts
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.