وبلاگ بلیان

زبان سایه‌زنی OpenGL(R) (ویرایش دوم)

OpenGL(R) Shading Language (2nd Edition)

معرفی کتاب «زبان سایه‌زنی OpenGL(R) (ویرایش دوم)» (با عنوان لاتین OpenGL(R) Shading Language (2nd Edition)) نوشتهٔ Randi J. Rost; with contributions by John M. Kessenich ... [et al.]، منتشرشده توسط نشر Addison-Wesley Professional در سال 2006. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

OpenGL Shading Language OpenGL® Shading Language, Second Edition 1 Table of Contents 3 Copyright 8 Praise for OpenGL® Shading Language, Second Edition 10 Praise for the First Edition of OpenGL® Shading Language 11 Foreword 12 Foreword to the First Edition 14 Preface 16 Intended Audience 17 About This Book 18 About the Shader Examples 20 Errata 21 Typographical Conventions 22 About the Author 23 About the Contributors 24 Acknowledgments 25 Chapter 1. Review of OpenGL Basics 28 Section 1.1. OpenGL History 29 Section 1.2. OpenGL Evolution 31 Section 1.3. Execution Model 32 Section 1.4. The Frame Buffer 33 Section 1.5. State 35 Section 1.6. Processing Pipeline 36 Section 1.7. Drawing Geometry 37 Section 1.8. Drawing Images 43 Section 1.9. Coordinate Transforms 45 Section 1.10. Texturing 49 Section 1.11. Summary 53 Section 1.12. Further Information 54 Chapter 2. Basics 55 Section 2.1. Introduction to the OpenGL Shading Language 56 Section 2.2. Why Write Shaders? 58 Section 2.3. OpenGL Programmable Processors 60 Section 2.4. Language Overview 67 Section 2.5. System Overview 72 Section 2.6. Key Benefits 76 Section 2.7. Summary 78 Section 2.8. Further Information 80 Chapter 3. Language Definition 81 Section 3.1. Example Shader Pair 82 Section 3.2. Data Types 84 Section 3.3. Initializers and Constructors 91 Section 3.4. Type Conversions 93 Section 3.5. Qualifiers and Interface to a Shader 94 Section 3.6. Flow Control 97 Section 3.7. Operations 100 Section 3.8. Preprocessor 104 Section 3.9. Preprocessor Expressions 107 Section 3.10. Error Handling 108 Section 3.11. Summary 109 Section 3.12. Further Information 110 Chapter 4. The OpenGL Programmable Pipeline 111 Section 4.1. The Vertex Processor 112 Section 4.2. The Fragment Processor 117 Section 4.3. Built-in Uniform Variables 121 Section 4.4. Built-in Constants 125 Section 4.5. Interaction with OpenGL Fixed Functionality 126 Section 4.6. Summary 130 Section 4.7. Further Information 131 Chapter 5. Built-in Functions 132 Section 5.1. Angle and Trigonometry Functions 133 Section 5.2. Exponential Functions 135 Section 5.3. Common Functions 136 Section 5.4. Geometric Functions 143 Section 5.5. Matrix Functions 145 Section 5.6. Vector Relational Functions 146 Section 5.7. Texture Access Functions 148 Section 5.8. Fragment Processing Functions 150 Section 5.9. Noise Functions 151 Section 5.10. Summary 152 Section 5.11. Further Information 153 Chapter 6. Simple Shading Example 154 Section 6.1. Brick Shader Overview 155 Section 6.2. Vertex Shader 157 Section 6.3. Fragment Shader 162 Section 6.4. Observations 167 Section 6.5. Summary 168 Section 6.6. Further Information 169 Chapter 7. OpenGL Shading Language API 170 Section 7.1. Obtaining Version Information 171 Section 7.2. Creating Shader Objects 173 Section 7.3. Compiling Shader Objects 175 Section 7.4. Linking and Using Shaders 176 Section 7.5. Cleaning Up 179 Section 7.6. Query Functions 181 Section 7.7. Specifying Vertex Attributes 186 Section 7.8. Specifying Uniform Variables 196 Section 7.9. Samplers 202 Section 7.10. Multiple Render Targets 203 Section 7.11. Development Aids 205 Section 7.12. Implementation-Dependent API Values 206 Section 7.13. Application Code for Brick Shaders 207 Section 7.14. Summary 211 Section 7.15. Further Information 212 Chapter 8. Shader Development 213 Section 8.1. General Principles 214 Section 8.2. Performance Considerations 216 Section 8.3. Shader Debugging 218 Section 8.4. Shader Development Tools 219 Section 8.5. Scene Graphs 222 Section 8.6. Summary 224 Section 8.7. Further Information 225 Chapter 9. Emulating OpenGL Fixed Functionality 226 Section 9.1. Transformation 227 Section 9.2. Light Sources 229 Section 9.3. Material Properties and Lighting 233 Section 9.4. Two-Sided Lighting 235 Section 9.5. No Lighting 236 Section 9.6. Fog 237 Section 9.7. Texture Coordinate Generation 239 Section 9.8. User Clipping 241 Section 9.9. Texture Application 242 Section 9.10. Summary 244 Section 9.11. Further Information 245 Chapter 10. Stored Texture Shaders 246 Section 10.1. Access to Texture Maps from a Shader 247 Section 10.2. Simple Texturing Example 249 Section 10.3. Multitexturing Example 252 Section 10.4. Cube Mapping Example 256 Section 10.5. Another Environment Mapping Example 259 Section 10.6. Glyph Bombing 262 Section 10.7. Summary 270 Section 10.8. Further Information 271 Chapter 11. Procedural Texture Shaders 273 Section 11.1. Regular Patterns 275 Section 11.2. Toy Ball 279 Section 11.3. Lattice 285 Section 11.4. Bump Mapping 286 Section 11.5. Summary 293 Section 11.6. Further Information 294 Chapter 12. Lighting 295 Section 12.1. Hemisphere Lighting 296 Section 12.2. Image-Based Lighting 299 Section 12.3. Lighting with Spherical Harmonics 302 Section 12.4. The ÜberLight Shader 306 Section 12.5. Summary 312 Section 12.6. Further Information 313 Chapter 13. Shadows 315 Section 13.1. Ambient Occlusion 316 Section 13.2. Shadow Maps 320 Section 13.3. Deferred Shading for Volume Shadows 326 Section 13.4. Summary 333 Section 13.5. Further Information 334 Chapter 14. Surface Characteristics 336 Section 14.1. Refraction 337 Section 14.2. Diffraction 342 Section 14.3. BRDF Models 346 Section 14.4. Polynomial Texture Mapping with BRDF Data 351 Section 14.5. Summary 358 Section 14.6. Further Information 359 Chapter 15. Noise 361 Section 15.1. Noise Defined 363 Section 15.2. Noise Textures 369 Section 15.3. Trade-offs 372 Section 15.4. A Simple Noise Shader 373 Section 15.5. Turbulence 375 Section 15.6. Granite 377 Section 15.7. Wood 378 Section 15.8. Summary 381 Section 15.9. Further Information 382 Chapter 16. Animation 383 Section 16.1. On/Off 384 Section 16.2. Threshold 385 Section 16.3. Translation 386 Section 16.4. Morphing 387 Section 16.5. Other Blending Effects 390 Section 16.6. Vertex Noise 391 Section 16.7. Particle Systems 392 Section 16.8. Wobble 398 Section 16.9. Summary 401 Section 16.10. Further Information 402 Chapter 17. Antialiasing Procedural Textures 403 Section 17.1. Sources of Aliasing 404 Section 17.2. Avoiding Aliasing 406 Section 17.3. Increasing Resolution 407 Section 17.4. Antialiased Stripe Example 408 Section 17.5. Frequency Clamping 416 Section 17.6. Summary 418 Section 17.7. Further Information 419 Chapter 18. Non-Photorealistic Shaders 421 Section 18.1. Hatching Example 422 Section 18.2. Technical Illustration Example 429 Section 18.3. Mandelbrot Example 433 Section 18.4. Summary 440 Section 18.5. Further Information 441 Chapter 19. Shaders for Imaging 443 Section 19.1. Geometric Image Transforms 444 Section 19.2. Mathematical Mappings 445 Section 19.3. Lookup Table Operations 446 Section 19.4. Color Space Conversions 447 Section 19.5. Image Interpolation and Extrapolation 448 Section 19.6. Blend Modes 451 Section 19.7. Convolution 456 Section 19.8. Summary 463 Section 19.9. Further Information 464 Chapter 20. RealWorldz 466 Section 20.1. Features 467 Section 20.2. RealWorldz Internals 468 Section 20.3. Implementation 476 Section 20.4. Atmospheric Effects 482 Section 20.5. Ocean 487 Section 20.6. Clouds 492 Section 20.7. Summary 494 Section 20.8. Further Information 495 Chapter 21. Language Comparison 496 Section 21.1. Chronology of Shading Languages 497 Section 21.2. RenderMan 498 Section 21.3. OpenGL Shader (ISL) 500 Section 21.4. HLSL 503 Section 21.5. Cg 506 Section 21.6. Summary 508 Section 21.7. Further Information 509 Appendix A. Language Grammar 511 Appendix B. API Function Reference 522 Implementation-Dependent API Values for GLSL 523 Other Queriable Values for GLSL 524 glAttachShader 525 glBindAttribLocation 527 glCompileShader 529 glCreateProgram 530 glCreateShader 532 glDeleteProgram 534 glDeleteShader 535 glDetachShader 536 glDrawBuffers 538 glEnableVertexAttribArray 540 glGetActiveAttrib 541 glGetActiveUniform 543 glGetAttachedShaders 546 glGetAttribLocation 548 glGetProgram 550 glGetProgramInfoLog 552 glGetShader 554 glGetShaderInfoLog 556 glGetShaderSource 558 glGetUniform 560 glGetUniformLocation 562 glGetVertexAttrib 564 glGetVertexAttribPointer 566 glIsProgram 568 glIsShader 570 glLinkProgram 571 glShaderSource 574 glUniform 576 glUseProgram 581 glValidateProgram 584 glVertexAttrib 586 glVertexAttribPointer 590 OpenGL 1.5 to OpenGL 2.0 GLSL Migration Guide 592 Afterword 594 Glossary 596 Further Reading 624 OpenGL,Shading,Language,Shaders,Orange,Book OpenGL,Shading Language,Shaders,Orange Book

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.

دانلود کتاب زبان سایه‌زنی OpenGL(R) (ویرایش دوم)