Bailey / Cunningham | Graphics Shaders | E-Book | www2.sack.de
E-Book

E-Book, Englisch, 518 Seiten

Bailey / Cunningham Graphics Shaders

Theory and Practice, Second Edition
2. Auflage 2011
ISBN: 978-1-4398-6775-4
Verlag: Taylor & Francis
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)

Theory and Practice, Second Edition

E-Book, Englisch, 518 Seiten

ISBN: 978-1-4398-6775-4
Verlag: Taylor & Francis
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)



Graphics Shaders: Theory and Practice is intended for a second course in computer graphics at the undergraduate or graduate level, introducing shader programming in general, but focusing on the GLSL shading language. While teaching how to write programmable shaders, the authors also teach and reinforce the fundamentals of computer graphics. The second edition has been updated to incorporate changes in the OpenGL API (OpenGL 4.x and GLSL 4.x0) and also has a chapter on the new tessellation shaders, including many practical examples.

The book starts with a quick review of the graphics pipeline, emphasizing features that are rarely taught in introductory courses, but are immediately exposed in shader work. It then covers shader-specific theory for vertex, tessellation, geometry, and fragment shaders using the GLSL 4.x0 shading language. The text also introduces the freely available glman tool that enables you to develop, test, and tune shaders separately from the applications that will use them. The authors explore how shaders can be used to support a wide variety of applications and present examples of shaders in 3D geometry, scientific visualization, geometry morphing, algorithmic art, and more.

Features of the Second Edition:

- Written using the most recent specification releases (OpenGL 4.x and GLSL 4.x0) including code examples brought up-to-date with the current standard of the GLSL language.

- More examples and more exercises

- A chapter on tessellation shaders

- An expanded Serious Fun chapter with examples that illustrate using shaders to produce fun effects

- A discussion of how to handle the major changes occurring in the OpenGL standard, and some C++ classes to help you manage that transition

The authors thoroughly explain the concepts, use sample code to describe details of the concepts, and then challenge you to extend the examples. They provide sample source code for many of the book’s examples at www.cgeducation.org

Bailey / Cunningham Graphics Shaders jetzt bestellen!

Zielgruppe


Computer graphics professionals and students, computer game programmers, and computer graphics and game development societies.

Weitere Infos & Material


The Fixed-Function Graphics Pipeline

The Traditional View
How the Traditional View Is Implemented
Vertex Arrays

Conclusions

OpenGL Shader Evolution

History of Shaders

OpenGL Shader History
OpenGL ES

How Can You Respond to These Changes?

Our Approach in This Book

Fundamental Shader Concepts

Shaders in the Graphics Pipeline
The GLSL Shading Language

Passing Data from Your Application into Shaders

Using glman

Using glman
GLIB Scene Creation
More on Textures and Noise
Functions in the glman Interface Window

The GLSL Shader Language

Factors that Shape Shader Languages
General GLSL Language Concepts
Language Details
Compatibility Mode
Summary

Lighting

The ADS Lighting Model
Types of Lights
Setting Up Lighting for Shading

Vertex Shaders

Vertex Shaders in the Graphics Pipeline
Replacing Fixed-Function Graphics with Vertex Shaders
Going beyond the Fixed-Function Pipeline with Vertex Shaders

Vertex Modification
Issues in Vertex Shaders
Summary

Fragment Shaders and Surface Appearance

Basic Function of a Fragment Shader
Fragment Shader Processing
Replacing Fixed-Function Processing with Fragment Shaders
What Follows a Fragment Shader?
Additional Shader Effects

Surface Textures in the Fragment Shader

Texture Coordinates

Traditional Texture Mapping

GLSL Texture Mapping
Render to Texture

Render to Texture for Multipass Rendering in glman

Noise

Fundamental Noise Concepts
Other Noise Concepts
Some Examples of Noise in Different Environments
Advanced Noise Topics

Using Noisegraph

Image Manipulation with Shaders

Basic Concepts
Single-Image Manipulation
The Image Blending Process

Blending an Image with a Constant Base Image
Blending an Image with a Version of Itself
Blending Two Different Images
Notes

Geometry Shader Concepts and Examples

What Does the Geometry Shader Do?
Normals in Geometry Shaders

Examples

Tessellation Shaders

What Are Tessellation Shaders?
Tessellation Shader Concepts
Examples
Summary

The GLSL API

Shaders in the OpenGL Programming Process

How Is a GLSL Shader Program Created?

Creating and Compiling Shader Objects
Creating, Attaching, Linking, and Activating Shader Programs
Passing Data into Shaders

Using Shaders for Scientific Visualization

Image-Based Visualization Techniques
Hyperbolic Geometry

3D Scalar Data Visualization
More on Transfer Functions

Passing in Data Values with Your Geometry

Terrain Bump-Mapping

Flow Visualization
Geometry Visualization

Serious Fun

Light Interference
Lens Effects
Bathroom Glass

Atmospheric Effects
Fun with One

Using the glman Timer Function

Disco Ball

Fog, with and without Noise

Morphing 3D Geometry

Algorithmic Art
Making Information Visible through Motion

An Explosion Shader

Appendices
References

Index

Exercises appear at the end of each chapter.


Mike Bailey is a professor of computer science at Oregon State University. Dr. Bailey is a member of ACM, SIGGRAPH, IEEE, ASME. He earned a Ph.D. in computer graphics and computer aided design from Purdue University. His areas of interest include scientific visualization, high performance computer graphics, GPU programming, solid freeform fabrication, geometric modeling, and computer aided design and analysis.

Steve Cunningham is a professor emeritus of computer science at California State University Stanislaus. A member of ACM SIGGRAPH, ACM SIGCSE, and Eurographics, he has been actively engaged in computer graphics education for many years.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.