OpenGL® Shading Language
Home > Computing and Information Technology > Computer programming / software engineering > Software Engineering > OpenGL® Shading Language
2%
OpenGL® Shading Language

OpenGL® Shading Language


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

Praise for OpenGL® Shading Language “OpenGL® Shading Language provides a timely, thorough, and entertaining introduction to the only OpenGL ARB-approved high-level shading language in existence. Whether an expert or a novice, there are gems to be discovered throughout the book, and the reference pages will be your constant companion as you dig into the depths of the shading APIs. From algorithms to APIs, this book has you covered.”      —Bob Kuehne          CEO, Blue Newt Software “Computer graphics and rendering technologies just took a giant leap forward with hardware vendors rapidly adopting the new OpenGL Shading Language. This book presents a detailed treatment of these exciting technologies in a way that is extremely helpful for visualization and game developers.”      —Andy McGovern          Founder, Virtual Geographics, Inc. “The OpenGL Shading Language is at the epicenter of the programmable graphics revolution, and Randi Rost has been at the center of the development of this significant new industry standard. If you need the inside track on how to use the OpenGL Shading Language to unleash new visual effects, and unlock the supercomputer hiding inside the new generation of graphics hardware, then this is the book for you.”      —Neil Trevett          Senior Vice President Market Development, 3Dlabs "The author has done an excellent job at setting the stage for shader development, what the purpose is, how to do it, and how it all fits together." —Jeffery Galinovsky Strategic Software Program Manager, Intel Corporation The OpenGL® Shading Language, a high-level procedural shading language for OpenGL®, is the most important new development in graphics programming to emerge in years. OpenGL is the leading cross-platform 3D-graphics API, and the OpenGL Shading Language allows developers to take total control over the most important stages of the graphics-processing pipeline. OpenGL® Shading Language 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 utilizing 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 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 features extensive examples of shaders and their underlying algorithms, including Procedural texturing Noise Particle systems Hatching Analytic antialiasing Image processing 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 quick reference to the API entry points that support the OpenGL Shading Language. An enhanced online index allows readers to quickly and easily search the entire text for specific topics.

Table of Contents:
Foreword. Preface. About the Author. About the Contributors. Acknowledgments. 1. Review of OpenGL Basics. OpenGL History. Evolving OpenGL. Execution Model. The Frame Buffer. State. Processing Pipeline. Drawing Geometry. Specifying Geometry. Per-Vertex Operations. Primitive Assembly. Primitive Processing. Rasterization. Fragment Processing. Per-Fragment Operations. Frame Buffer Operations. Drawing Images. Pixel Unpacking. Pixel Transfer. Rasterization and Back-End Processing. Read Control. Coordinate Transforms. Texturing. Summary. Further Information. 2. Basics. Introduction to the OpenGL Shading Language. Why Write Shaders? OpenGL Programmable Processors. Vertex Processor. Fragment Processor. Language Overview. Language Design Considerations. C Basis. Additions to C. Additions from C++. C Features Not Supported. Other Differences. System Overview. Driver Model. OpenGL Shading Language Compiler/Linker OpenGL API Extensions. Key Benefits. Summary. Further Information. 3. Language Definition. Example Shader Pair. Data Types. Scalars. Vectors. Matrices. Samplers. Structures. Arrays. Void. Declarations and Scope. Type Matching and Promotion. Initializers and Constructors. Type Conversions. Qualifiers and Interface to a Shader. Attribute Qualifiers. Uniform Qualifiers. Varying Qualifiers. Constant Qualifiers. Absent Qualifier. Flow Control. Functions. Calling Conventions. Built-in Functions. Operations. Indexing. Swizzling. Component-wise Operation. Preprocessor. Preprocessor Expressions. Error Handling. Summary. Further Information. 4. The OpenGL Programmable Pipeline. The Vertex Processor. Vertex Attributes. Uniform Variables. Special Output Variables. Built-in Varying Variables. User-Defined Varying Variables. The Fragment Processor. Varying Variables. Uniform Variables. Special Input Variables. Special Output Variables. Built-in Uniform Variables. Built-in Constants. Interaction with OpenGL Fixed Functionality. Two-Sided Color Mode. Point Size Mode. Clipping. Raster Position. Position Invariance. Texturing. Summary. Further Information. 5. Built-in Functions. Angle and Trigonometry Functions. Exponential Functions. Common Functions. Geometric Functions. Matrix Functions. Vector Relational Functions. Texture Access Functions. Fragment Processing Functions. Noise Functions. Summary. Further Information. 6. Simple Shading Example. Brick Shader Overview. Vertex Shader. Fragment Shader. Observations. Summary. Further Information. 7. OpenGL Shading Language API. Creating Shader Objects. Compiling Shader Objects. Linking and Using Shaders. Cleaning Up. Query Functions. Specifying Vertex Attributes. Specifying Uniform Variables. Samplers. Development Aids. Implementation-Dependent API Values. Application Code for Brick Shaders. Summary. Further Information. 8. Shader Development. General Principles. Understand the Problem. Add Complexity Progressively. Test and Iterate. Strive for Simplicity. Modularity. Performance Considerations. Consider Computational Frequency. Analyze Your Algorithm. Use the Built-in Functions. Use Vectors. Use Textures to Encode Complex Functions. Review the Info Logs. Shader Debugging. Use the Vertex Shader Output. Use the Fragment Shader Output. Use Simple Geometry. Shader Development Tools. RenderMonkey. OpenGL Shading Language Compiler Front End. Summary. Further Information. 9. Traditional Shaders. Transformation. Light Sources. Directional Lights. Point Lights. Spotlights. Material Properties and Lighting. Two-Sided Lighting. No Lighting. Fog. Texture Coordinate Generation. User Clipping. Texture Application. Summary. Further Information. 10. Stored Texture Shaders. Accessing Texture Maps from a Shader. Simple Texturing Example. Application Setup. Vertex Shader. Fragment Shader. Multitexturing Example. Application Setup. Vertex Shader. Fragment Shader. Environment Mapping Example. Application Setup. Vertex Shader. Fragment Shader. Polynomial Texture Mapping with BRDF Data. Application Setup. Vertex Shader. Fragment Shader. Summary. Further Information. 11. Procedural Texture Shaders. Regular Patterns. Stripes vertex shader. Stripes Fragment Shader. Toy Ball. Application Setup. Vertex Shader. Fragment Shader. Lattice. Bump Mapping. Application Setup. Vertex Shader. Fragment Shader. Normal Maps. Summary. Further Information. 12. Noise. Defining Noise. 2D Noise. Higher Dimensions of Noise. Using Noise in OpenGL Shaders. Noise Textures. Trade-offs. A Simple Noise Shader. Application Setup. Vertex Shader. Fragment Shader. Turbulence. Sun Surface Shader. Marble. Granite. Wood. Application Setup. Fragment Shader. Summary. Further Information. 13. Animated Shaders. On/Off. Threshold. Translation. Key-Frame Interpolation. Key-Frame Interpolation Vertex Shader. Other Blending Effects. Particle Systems. Application Setup. Confetti Cannon Vertex Shader. Confetti Cannon Fragment Shader. Further Enhancements. Wobble. Summary. Further Information. 14. Antialiasing Procedural Textures. Sources of Aliasing. Avoiding Aliasing. Increasing Resolution. Antialiased Stripe Example. Generating Stripes. Analytic Prefiltering. Adaptive Analytic Prefiltering. Analytic Integration. Antialiased Brick Fragment Shader. Frequency Clamping. Antialiased Checkerboard Fragment Shader. Summary. Further Information. 15. Non-Photorealistic Shaders. Hatching Example. Application Setup. Vertex Shader. Generating Hatching Strokes. Obtaining Uniform Line Density. Lighting. Adding Character. Hatching Fragment Shader. Technical Illustration Example. Application Setup. Vertex Shader. Fragment Shader. Mandelbrot Example. About the Mandelbrot Set. Vertex Shader. Fragment Shader. Julia Sets. Summary. Further Information. 16. Shaders for Imaging. Geometric Image Transforms. Mathematical Mappings. Lookup Table Operations. Color Space Conversions. Image Interpolation and Extrapolation. Brightness. Contrast. Saturation. Sharpness. Blend Modes. Normal. Average. Dissolve. Behind. Clear. Darken. Lighten. Multiply. Screen. Color Burn. Color Dodge. Overlay. Soft Light. Hard Light. Add. Subtract. Difference. Inverse Difference. Exclusion. Opacity. Convolution. Smoothing. Edge Detection. Sharpening. Summary. Further Information. 17. Language Comparison. Chronology of Shading Languages. RenderMan. OpenGL Shader (ISL). HLSL. Cg. Summary. Further Information. Appendix A. Language Grammar. Appendix B. API Function Reference. glAttachObjectARB. glBindAttribLocationARB. glCompileShaderARB. glCreateProgramObjectARB. glCreateShaderObjectARB. glDeleteObjectARB. glDetachObjectARB. glEnableVertexAttribArrayARB. glGetActiveAttribARB. glGetActiveUniformARB. glGetAttachedObjectsARB. glGetAttribLocationARB. glGetHandleARB. glGetInfoLogARB. glGetObjectParameterARB. glGetShaderSourceARB. glGetUniformARB. glGetUniformLocationARB. glGetVertexAttribARB. glGetVertexAttribPointervARB. glLinkProgramARB. glShaderSourceARB. glUniformARB. glUseProgramObjectARB. glValidateProgramARB. glVertexAttribARB. glVertexAttribPointerARB. Afterword. Glossary. Further Reading. Index.

About the Author :
Randi Rost is an ISV Manager in the Software and Solutions Group at Intel. Randy serves on the OpenGL ARB, led the 3Dlabs team responsible for defining and implementing OpenGL 2.0, and is one of the first programmers to design and implement shaders using the OpenGL Shading Language.


Best Sellers


Product Details
  • ISBN-13: 9780321197894
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Language: English
  • Spine Width: 36 mm
  • Width: 235 mm
  • ISBN-10: 0321197895
  • Publisher Date: 11 Mar 2004
  • Binding: Paperback
  • No of Pages: 608
  • Weight: 1176 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
OpenGL® Shading Language
Pearson Education (US) -
OpenGL® Shading Language
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

OpenGL® Shading Language

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!