GLSL Essentials
eBook - ePub

GLSL Essentials

Jacobo Rodriguez

Compartir libro
  1. 116 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

GLSL Essentials

Jacobo Rodriguez

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

In Detail

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.

Approach

This book is a practical guide to the OpenGL Shading Language, which contains several real-world examples that will allow you to grasp the core concepts easily and the use of the GLSL for graphics rendering applications.

Who this book is for

If you want upgrade your skills, or are new to shader programming and want to learn about graphic programming, this book is for you. If you want a clearer idea of shader programming, or simply want to upgrade from fixed pipeline systems to state-of-the-art shader programming and are familiar with any C-based language, then this book will show you what you need to know.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es GLSL Essentials un PDF/ePUB en línea?
Sí, puedes acceder a GLSL Essentials de Jacobo Rodriguez en formato PDF o ePUB, así como a otros libros populares de Informatica y Applicazioni desktop. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2013
ISBN
9781849698009
Edición
1
Categoría
Informatica

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

GLSL Essentials

Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: December 2013
Production Reference: 1181213
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84969-800-9
www.packtpub.com
Cover Image by Jacobo Rodríguez Villar ()

Credits

Author
Jacobo Rodríguez
Reviewers
Dimitrios Christopoulos
Toni Ascó González
Oscar Ripolles
Acquisition Editors
Antony Lowe
Rebecca Pedley
Commissioning Editors
Subho Gupta
Priyanka Shah
Sharvari Tawde
Technical Editors
Venu Manthena
Gaurav Thingalaya
Project Coordinator
Amey Sawant
Proofreaders
Maria Gould
Paul Hindle
Indexer
Priya Subramani
Graphics
Ronak Dhruv
Production Coordinator
Shantanu Zagade
Cover Work
Shantanu Zagade

About the Author

Jacobo Rodríguez is a real-time computer graphics programmer living in the north of Spain. He has working experience with computer graphics, digital photogrammetry, computer vision, and video game development. Jacobo has worked for cutting-edge technology companies such as Metria Digital and Blit Software, and has also worked as an entrepreneur and freelancer for a variety of clients of platforms such as PC, iOS, PlayStation 3, PlayStation Vita, and PlayStation Portable. Jacobo has been working and learning at the same time for the last 20 years in the computer graphics field in roles ranging from junior programmer to project manager, passing through R&D director as well. Jacobo has always been very committed to the computer graphics community, having released for free the OpenGL Shader Designer: the first application in the world (even before NVIDIA with FX Composer or ATI with RenderMonkey) designed to visually develop and program GLSL shaders, as well as some OpenGL programming tutorials, all forming part of the Official OpenGL SDK.

About the Reviewers

Dimitrios Christopoulos studied Computer Engineering and Informatics and holds a Master of Science degree in Virtual Reality and Computer Graphics. He has 16+ years of experience in 3D computer graphics with a strong specialty in C/C++/OpenGL and Linux. Dimi has worked for European Union research projects, Indie game productions, and museums producing games, educational applications, and cultural heritage productions for desktops and virtual reality installations such as Domes, Caves, Reality Centers, and Powerwalls. His research interests include virtual reality, human computer interaction, computer graphics, and games, with numerous publications in relevant conferences and journals. Dimitrios has been an author of the book More OpenGL Programming, Course Technology PTR, and has contributed to OpenGL Programming, Prima Tech, and has been a reviewer for OpenGL Development Cookbook, Packt Publishing.
Toni Ascó González holds a Master's degree in Computer Science specializing in real-time graphics and OpenGL. For the past 16 years, he has been programming graphics applications from virtual reality to video games. He founded a virtual reality company in Barcelona, and dedicated eight years to develop a state-of-the-art, real-time software for architectural visualization. After that experience, he moved to Bravo Game Studios and developed video games for mobile platforms and portable consoles. Currently, he applies his experience in 3D and real-time graphics in the virtual gambling field.

Índice