Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
GLSL Essentials

You're reading from   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.

Arrow left icon
Product type Paperback
Published in Dec 2013
Publisher Packt
ISBN-13 9781849698009
Length 116 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Jacobo Rodriguez Jacobo Rodriguez
Author Profile Icon Jacobo Rodriguez
Jacobo Rodriguez
Arrow right icon
View More author details
Toc

Examples


In the following pages I'm going to present some examples, from the most basic one to a complex lighting shader.

Solid color mesh

The first one is a very simple shader that writes the mesh in a solid color, received using a uniform variable:

#version 430
#debug(on)
#optimize(off)
uniform vec4 SolidColor;
out vec4 FBColor;

void main()
{
  FBColor= SolidColor;
}

Using a half red color stored in the SolidColor uniform variable, over a cylinder mesh, we get the following rendering:

Using only uniforms as input we can't do much more than this, so I'll colorize the cylinder using its own vertices' positions.

Interpolated colored mesh

First, in the vertex shader, set up an interpolator of vec3 type and place the xyz of the position attribute there. Then, use the following fragment shader:

#version 430
#pragma debug(on)
#pragma optimize(off)

uniform vec4 SolidColor;
in vec3 InterpolatedPosition;

out vec4 FBColor;
void main()
{
  FBColor = vec4(InterpolatedPosition, 1.0);
}

The following is the...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime