Free JavaScript Editor
Ajax Editor
↑
Open GL
Chapter 1. Review of OpenGL Basics
Section 1.1. OpenGL History
Section 1.2. OpenGL Evolution
Section 1.3. Execution Model
Section 1.4. The Frame Buffer
Section 1.5. State
Section 1.6. Processing Pipeline
Section 1.7. Drawing Geometry
Section 1.8. Drawing Images
Section 1.9. Coordinate Transforms
Section 1.10. Texturing
Section 1.11. Summary
Section 1.12. Further Information
Chapter 2. Basics
Section 2.1. Introduction to the OpenGL Shading Language
Section 2.2. Why Write Shaders?
Section 2.3. OpenGL Programmable Processors
Section 2.4. Language Overview
Section 2.5. System Overview
Section 2.6. Key Benefits
Section 2.7. Summary
Section 2.8. Further Information
Chapter 3. Language Definition
Section 3.1. Example Shader Pair
Section 3.2. Data Types
Section 3.3. Initializers and Constructors
Section 3.4. Type Conversions
Section 3.5. Qualifiers and Interface to a Shader
Section 3.6. Flow Control
Section 3.7. Operations
Section 3.8. Preprocessor
Section 3.9. Preprocessor Expressions
Section 3.10. Error Handling
Section 3.11. Summary
Section 3.12. Further Information
Chapter 4. The OpenGL Programmable Pipeline
Section 4.1. The Vertex Processor
Section 4.2. The Fragment Processor
Section 4.3. Built-in Uniform Variables
Section 4.4. Built-in Constants
Section 4.5. Interaction with OpenGL Fixed Functionality
Section 4.6. Summary
Section 4.7. Further Information
Chapter 5. Built-in Functions
Section 5.1. Angle and Trigonometry Functions
Section 5.2. Exponential Functions
Section 5.3. Common Functions
Section 5.4. Geometric Functions
Section 5.5. Matrix Functions
Section 5.6. Vector Relational Functions
Section 5.7. Texture Access Functions
Section 5.8. Fragment Processing Functions
Section 5.9. Noise Functions
Section 5.10. Summary
Section 5.11. Further Information
Chapter 6. Simple Shading Example
Section 6.1. Brick Shader Overview
Section 6.2. Vertex Shader
Section 6.3. Fragment Shader
Section 6.4. Observations
Section 6.5. Summary
Section 6.6. Further Information
Chapter 7. OpenGL Shading Language API
Section 7.1. Obtaining Version Information
Section 7.2. Creating Shader Objects
Section 7.3. Compiling Shader Objects
Section 7.4. Linking and Using Shaders
Section 7.5. Cleaning Up
Section 7.6. Query Functions
Section 7.7. Specifying Vertex Attributes
Section 7.8. Specifying Uniform Variables
Section 7.9. Samplers
Section 7.10. Multiple Render Targets
Section 7.11. Development Aids
Section 7.12. Implementation-Dependent API Values
Услуги по SEO-оптимизации
Section 7.13. Application Code for Brick Shaders
Section 7.14. Summary
Section 7.15. Further Information
Chapter 8. Shader Development
Section 8.1. General Principles
Section 8.2. Performance Considerations
Section 8.3. Shader Debugging
Section 8.4. Shader Development Tools
Section 8.5. Scene Graphs
Section 8.6. Summary
Section 8.7. Further Information
Chapter 9. Emulating OpenGL Fixed Functionality
Section 9.1. Transformation
Section 9.2. Light Sources
Section 9.3. Material Properties and Lighting
Section 9.4. Two-Sided Lighting
Section 9.5. No Lighting
Section 9.6. Fog
Section 9.7. Texture Coordinate Generation
Section 9.8. User Clipping
Section 9.9. Texture Application
Section 9.10. Summary
Section 9.11. Further Information
Chapter 10. Stored Texture Shaders
Section 10.1. Access to Texture Maps from a Shader
Section 10.2. Simple Texturing Example
Section 10.3. Multitexturing Example
Section 10.4. Cube Mapping Example
Section 10.5. Another Environment Mapping Example
Section 10.6. Glyph Bombing
Section 10.7. Summary
Section 10.8. Further Information
Chapter 11. Procedural Texture Shaders
Section 11.1. Regular Patterns
Section 11.2. Toy Ball
Section 11.3. Lattice
Section 11.4. Bump Mapping
Section 11.5. Summary
Section 11.6. Further Information
Chapter 12. Lighting
Section 12.1. Hemisphere Lighting
Section 12.2. Image-Based Lighting
Section 12.3. Lighting with Spherical Harmonics
Section 12.4. The ÜberLight Shader
Section 12.5. Summary
Section 12.6. Further Information
Chapter 13. Shadows
Section 13.1. Ambient Occlusion
Section 13.2. Shadow Maps
Section 13.3. Deferred Shading for Volume Shadows
Section 13.4. Summary
Section 13.5. Further Information
Chapter 14. Surface Characteristics
Section 14.1. Refraction
Section 14.2. Diffraction
Section 14.3. BRDF Models
Section 14.4. Polynomial Texture Mapping with BRDF Data
Section 14.5. Summary
Section 14.6. Further Information
Chapter 15. Noise
Section 15.1. Noise Defined
Section 15.2. Noise Textures
Section 15.3. Trade-offs
Section 15.4. A Simple Noise Shader
Section 15.5. Turbulence
Section 15.6. Granite
Section 15.7. Wood
Section 15.8. Summary
Section 15.9. Further Information
Chapter 16. Animation
Section 16.1. On/Off
Section 16.2. Threshold
Section 16.3. Translation
Section 16.4. Morphing
Section 16.5. Other Blending Effects
Section 16.6. Vertex Noise
Section 16.7. Particle Systems
Section 16.8. Wobble
Section 16.9. Summary
Section 16.10. Further Information
Chapter 17. Antialiasing Procedural Textures
Section 17.1. Sources of Aliasing
Section 17.2. Avoiding Aliasing
Section 17.3. Increasing Resolution
Section 17.4. Antialiased Stripe Example
Section 17.5. Frequency Clamping
Section 17.6. Summary
Section 17.7. Further Information
Chapter 18. Non-Photorealistic Shaders
Section 18.1. Hatching Example
Section 18.2. Technical Illustration Example
Section 18.3. Mandelbrot Example
Section 18.4. Summary
Section 18.5. Further Information
Chapter 19. Shaders for Imaging
Section 19.1. Geometric Image Transforms
Section 19.2. Mathematical Mappings
Section 19.3. Lookup Table Operations
Section 19.4. Color Space Conversions
Section 19.5. Image Interpolation and Extrapolation
Section 19.6. Blend Modes
Section 19.7. Convolution
Section 19.8. Summary
Section 19.9. Further Information
Chapter 20. RealWorldz
Section 20.1. Features
Section 20.2. RealWorldz Internals
Section 20.3. Implementation
Section 20.4. Atmospheric Effects
Section 20.5. Ocean
Section 20.6. Clouds
Section 20.7. Summary
Section 20.8. Further Information
Chapter 21. Language Comparison
Section 21.1. Chronology of Shading Languages
Section 21.2. RenderMan
Section 21.3. OpenGL Shader (ISL)
Section 21.4. HLSL
Section 21.5. Cg
Section 21.6. Summary
Section 21.7. Further Information
Appendix A. Language Grammar
Appendix B. API Function Reference
Implementation-Dependent API Values for GLSL
Other Queriable Values for GLSL
glAttachShader
glBindAttribLocation
glCompileShader
glCreateProgram
glCreateShader
glDeleteProgram
glDeleteShader
glDetachShader
glDrawBuffers
glEnableVertexAttribArray
glGetActiveAttrib
glGetActiveUniform
glGetAttachedShaders
glGetAttribLocation
glGetProgram
glGetProgramInfoLog
glGetShader
glGetShaderInfoLog
glGetShaderSource
glGetUniform
glGetUniformLocation
glGetVertexAttrib
glGetVertexAttribPointer
glIsProgram
glIsShader
glLinkProgram
glShaderSource
glUniform
glUseProgram
glValidateProgram
glVertexAttrib
glVertexAttribPointer
OpenGL 1.5 to OpenGL 2.0 GLSL Migration Guide
Afterword
Glossary
Further Reading
Index
→ Enjoy a funny twist with
bonanza candy
, laughter guaranteed
Ajax Editor
JavaScript Editor