ARRAY(0xa5af71d4)
OpenGL Shading Language (3rd Edition) und über 1,5 Millionen weitere Bücher verfügbar für Amazon Kindle. Erfahren Sie mehr


oder
Loggen Sie sich ein, um 1-Click® einzuschalten.
oder
Mit kostenloser Probeteilnahme bei Amazon Prime. Melden Sie sich während des Bestellvorgangs an.
Jetzt eintauschen
und EUR 7,33 Gutschein erhalten
Eintausch
Alle Angebote
Möchten Sie verkaufen? Hier verkaufen
Beginnen Sie mit dem Lesen von OpenGL Shading Language (3rd Edition) auf Ihrem Kindle in weniger als einer Minute.

Sie haben keinen Kindle? Hier kaufen oder eine gratis Kindle Lese-App herunterladen.

OpenGL Shading Language [Englisch] [Taschenbuch]

Randi J. Rost , Bill Licea-Kane , Dan Ginsburg , John M. Kessenich , Barthold Lichtenbelt , Hugh Malan , Mike Weiblen

Statt: EUR 43,95
Jetzt: EUR 41,95 kostenlose Lieferung. Siehe Details.
Sie sparen: EUR 2,00 (5%)
  Alle Preisangaben inkl. MwSt.
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
Nur noch 4 auf Lager (mehr ist unterwegs).
Verkauf und Versand durch Amazon. Geschenkverpackung verfügbar.
Lieferung bis Mittwoch, 23. April: Wählen Sie an der Kasse Morning-Express. Siehe Details.
‹  Zurück zur Artikelübersicht

Inhaltsverzeichnis

Foreword to the Second Edition xxi Foreword to the First Edition xxv Preface xxix About the Authors xxxv About the Contributors xxxvii Acknowledgments xxxix Chapter 1: Review of OpenGL Basics 1 1.1 OpenGL History 1 1.2 OpenGL Evolution 4 1.3 Execution Model 5 1.4 The Framebuffer 6 1.5 State 9 1.6 Processing Pipeline 9 1.7 Drawing Geometry 11 1.8 Drawing Images 19 1.9 Coordinate Transforms 22 1.10 Texturing 27 1.11 Summary 33 1.12 Further Information 33 Chapter 2: Basics 35 2.1 Introduction to the OpenGL Shading Language 35 2.2 Why Write Shaders? 37 2.3 OpenGL Programmable Processors 38 2.4 Language Overview 47 2.5 System Overview 54 2.6 Key Benefits 59 2.7 Summary 61 2.8 Further Information 63 Chapter 3: Language Definition 65 3.1 Example Shader Pair 65 3.2 Data Types 67 3.3 Initializers and Constructors 76 3.4 Type Conversions 78 3.5 Qualifiers and Interface to a Shader 79 3.6 Flow Control 84 3.7 Operations 88 3.8 Preprocessor 93 3.9 Preprocessor Expressions 96 3.10 Error Handling 97 3.11 Summary 98 3.12 Further Information 98 Chapter 4: The OpenGL Programmable Pipeline 101 4.1 The Vertex Processor 102 4.2 The Fragment Processor 106 4.3 Built-in Uniform Variables 110 4.4 Built-in Constants 110 4.5 Interaction with OpenGL Fixed Functionality 111 4.6 Summary 115 4.7 Further Information 115 Chapter 5: Built-in Functions 117 5.1 Angle and Trigonometry Functions 118 5.2 Exponential Functions 121 5.3 Common Functions 122 5.4 Geometric Functions 134 5.5 Matrix Functions 136 5.6 Vector Relational Functions 138 5.7 Texture Access Functions 140 5.8 Fragment Processing Functions 176 5.9 Noise Functions 177 5.10 Summary 178 5.11 Further Information 178 Chapter 6: Simple Shading Example 181 6.1 Brick Shader Overview 182 6.2 Vertex Shader 183 6.3 Fragment Shader 189 6.4 Observations 196 6.5 Summary 197 6.6 Further Information 197 Chapter 7: OpenGL Shading Language API 199 7.1 Obtaining Version Information 200 7.2 Creating Shader Objects 203 7.3 Compiling Shader Objects 204 7.4 Linking and Using Shaders 205 7.5 Cleaning Up 210 7.6 Query Functions 211 7.7 Specifying Vertex Attributes 217 7.8 Specifying Uniform Variables 226 7.9 Samplers 238 7.10 Multiple Render Targets 239 7.11 Development Aids 240 7.12 Implementation-Dependent API Values 241 7.13 Application Code for Brick Shaders 242 7.14 Summary 247 7.15 Further Information 248 Chapter 8: Shader Development 251 8.1 General Principles 251 8.2 Performance Considerations 254 8.3 Shader Debugging 256 8.4 Shader Development Tools 258 8.5 Scene Graphs 263 8.6 Summary 266 8.7 Further Information 266 Chapter 9: Emulating OpenGL Fixed Functionality 269 9.1 Transformation 270 9.2 Light Sources 273 9.3 Material Properties and Lighting 277 9.4 Two-Sided Lighting 279 9.5 No Lighting 280 9.6 Fog 281 9.7 Texture Coordinate Generation 283 9.8 User Clipping 286 9.9 Texture Application 286 9.10 Matrices 288 9.11 Operating on the Current Matrices 291 9.12 Summary 294 9.13 Further Information 294 Chapter 10: Stored Texture Shaders 297 10.1 Access to Texture Maps from a Shader 298 10.2 Simple Texturing Example 300 10.3 Multitexturing Example 303 10.4 Cube Mapping Example 309 10.5 Another Environment Mapping Example 312 10.6 Glyph Bombing 316 10.7 Summary 326 10.8 Further Information 326 Chapter 11: Procedural Texture Shaders 329 11.1 Regular Patterns 331 11.2 Toy Ball 336 11.3 Lattice 344 11.4 Bump Mapping 345 11.5 Summary 354 11.6 Further Information 354 Chapter 12: Lighting 357 12.1 Hemisphere Lighting 357 12.2 Image-Based Lighting 361 12.3 Lighting with Spherical Harmonics 365 12.4 The Uberlight Shader 369 12.5 Summary 376 12.6 Further Information 376 Chapter 13: Shadows 379 13.1 Ambient Occlusion 380 13.2 Shadow Maps 385 13.3 Deferred Shading for Volume Shadows 392 13.4 Summary 400 13.5 Further Information 400 Chapter 14: Surface Characteristics 403 14.1 Refraction 404 14.2 Diffraction 410 14.3 BRDF Models 415 14.4 Polynomial Texture Mapping with BRDF Data 422 14.5 Summary 431 14.6 Further Information 432 Chapter 15: Noise 435 15.1 Noise Defined 436 15.2 Noise Textures 444 15.3 Trade-offs 447 15.4 A Simple Noise Shader 448 15.5 Turbulence 451 15.6 Granite 453 15.7 Wood 454 15.8 Summary 457 15.9 Further Information 458 Chapter 16: Animation 461 16.1 On/Off 462 16.2 Threshold 463 16.3 Translation 463 16.4 Morphing 464 16.5 Other Blending Effects 467 16.6 Vertex Noise 468 16.7 Particle Systems 469 16.8 Wobble 476 16.9 Animating Once per Frame 480 16.10 Summary 483 16.11 Further Information 484 Chapter 17: Antialiasing Procedural Textures 487 17.1 Sources of Aliasing 487 17.2 Avoiding Aliasing 489 17.3 Increasing Resolution 490 17.4 Antialiased Stripe Example 491 17.5 Frequency Clamping 502 17.6 Summary 504 17.7 Further Information 504 Chapter 18: Non-photorealistic Shaders 507 18.1 Hatching Example 508 18.2 Technical Illustration Example 516 18.3 Mandelbrot Example 521 18.4 Summary 529 18.5 Further Information 530 Chapter 19: Shaders for Imaging 533 19.1 Geometric Image Transforms 534 19.2 Mathematical Mappings 534 19.3 Lookup Table Operations 535 19.4 Color Space Conversions 536 19.5 Image Interpolation and Extrapolation 537 19.6 Blend Modes 540 19.7 Convolution 546 19.8 Summary 555 19.9 Further Information 555 Chapter 20: Language Comparison 559 20.1 Chronology of Shading Languages 559 20.2 RenderMan 560 20.3 OpenGL Shader (ISL) 563 20.4 HLSL 565 20.5 Cg 568 20.6 Summary 570 20.7 Further Information 570 Appendix A: Language Grammar 573 Appendix B: API Function Reference 589 Implementation-Dependent API Values for GLSL 590 Other Queriable Values for GLSL 591 glAttachShader 592 glBindAttribLocation 594 glCompileShader 597 glCreateProgram 599 glCreateShader 601 glDeleteProgram 603 glDeleteShader 605 glDetachShader 607 glDrawBuffers 609 glEnableVertexAttribArray 612 glGetActiveAttrib 614 glGetActiveUniform 617 glGetAttachedShaders 621 glGetAttribLocation 623 glGetProgram 625 glGetProgramInfoLog 628 glGetShader 630 glGetShaderInfoLog 632 glGetShaderSource 634 glGetUniform 636 glGetUniformLocation 638 glGetVertexAttrib 640 glGetVertexAttribPointer 643 glIsProgram 645 glIsShader 647 glLinkProgram 648 glShaderSource 652 glUniform 654 glUseProgram 661 glValidateProgram 665 glVertexAttrib 667 glVertexAttribPointer 673 OpenGL 1.5 to OpenGL 2.0 GLSL Migration Guide 676 Afterword 681 Glossary 685 Further Reading 705 Index 721

‹  Zurück zur Artikelübersicht