Szczegóły ebooka

GLSL Essentials. If you're involved in graphics programming, you need to know about shaders, and this is the book to do it. A hands-on guide to the OpenGL Shading Language, it walks you through the absolute basics to advanced techniques

GLSL Essentials. If you're involved in graphics programming, you need to know about shaders, and this is the book to do it. A hands-on guide to the OpenGL Shading Language, it walks you through the absolute basics to advanced techniques

Jacobo Rodriguez

Ebook
Shader programming has been the largest revolution in graphics programming. OpenGL Shading Language (abbreviated: GLSL or GLslang), is a high-level shading language based on the syntax of the C programming language.With GLSL you can execute code on your GPU (aka graphics card). More sophisticated effects can be achieved with this technique.Therefore, knowing how OpenGL works and how each shader type interacts with each other, as well as how they are integrated into the system, is imperative for graphic programmers. This knowledge is crucial in order to be familiar with the mechanisms for rendering 3D objects.

GLSL Essentials is the only book on the market that teaches you about shaders from the very beginning. It shows you how graphics programming has evolved, in order to understand why you need each stage in the Graphics Rendering Pipeline, and how to manage it in a simple but concise way. This book explains how shaders work in a step-by-step manner, with an explanation of how they interact with the application assets at each stage.

This book will take you through the graphics pipeline and will describe each section in an interactive and clear way. You will learn how the OpenGL state machine works and all its relevant stages. Vertex shaders, fragment shaders, and geometry shaders will be covered, as well some use cases and an introduction to the math needed for lighting algorithms or transforms. Generic GPU programming (GPGPU) will also be covered.

After reading GLSL Essentials you will be ready to generate any rendering effect you need.
  • GLSL Essentials
    • Table of Contents
    • GLSL Essentials
    • Credits
    • About the Author
    • About the Reviewers
    • www.PacktPub.com
      • Support files, eBooks, discount offers and more
        • Why Subscribe?
        • Free Access for Packt account holders
    • Preface
      • What this book covers
      • What you need for this book
      • Who this book is for
      • Conventions
      • Reader feedback
      • Customer support
        • Downloading the color images of this book
        • Errata
        • Piracy
        • Questions
    • 1. The Graphics Rendering Pipeline
      • A brief history of graphics hardware
      • The Graphics Rendering Pipeline
        • Geometry stages (per-vertex operations)
        • Fragment stages (per-fragment operations)
        • External stages
        • Differences between fixed and programmable designs
      • Types of shaders
        • Vertex shaders
        • Fragment shaders
        • Geometry shaders
        • Compute shaders
      • GPU, a vectorial and parallel architecture
      • The shader environment
      • Summary
    • 2. GLSL Basics
      • The Language
      • Language basics
        • Instructions
        • Basic types
        • Variable initializers
        • Vector and matrix operations
        • Castings and conversions
        • Code comments
        • Flow control
        • Loops
        • Structures
        • Arrays
        • Functions
        • Preprocessor
      • Shader input and output variables
        • Uniform variables
        • Other input variables
        • Shader output variables
      • Summary
    • 3. Vertex Shaders
      • Vertex shader inputs
        • Vertex attributes
        • Uniform variables
      • Vertex shader outputs
      • Drawing a simple geometry sample
        • Distorting a geometry sample
        • Using interpolators
        • Simple lighting
          • Basic lighting theory
          • Lighting example code
      • Summary
    • 4. Fragment Shaders
      • Execution model
        • Terminating a fragment shader
      • Inputs and outputs
      • Examples
        • Solid color mesh
        • Interpolated colored mesh
        • Using interpolators to compute the texture coordinates
        • Phong lighting
      • Summary
    • 5. Geometry Shaders
      • Geometry shaders versus vertex shaders
      • Inputs and outputs
        • Interface blocks
        • Example pass-thru shader
        • Example using attributes in the interface blocks
        • A crowd of butterflies
      • Summary
    • 6. Compute Shaders
      • Execution model
      • Render to texture example
      • Raw data computations
      • Summary
    • Index
  • Tytuł: GLSL Essentials. If you're involved in graphics programming, you need to know about shaders, and this is the book to do it. A hands-on guide to the OpenGL Shading Language, it walks you through the absolute basics to advanced techniques
  • Autor: Jacobo Rodriguez
  • Tytuł oryginału: GLSL Essentials. If you're involved in graphics programming, you need to know about shaders, and this is the book to do it. A hands-on guide to the OpenGL Shading Language, it walks you through the absolute basics to advanced techniques.
  • ISBN: 9781849698016, 9781849698016
  • Data wydania: 2013-12-26
  • Format: Ebook
  • Identyfikator pozycji: e_3cne
  • Wydawca: Packt Publishing