Learn GLSL Shaders from Scratch

——   Created by Nicholas Lever

Bring your WebGL alive with custom shaders

Share this course:

NEW
Course
42
Lessons
3h 42m
Lesson time
beginner
Skill level
$19.97
or $15/mo for unlimited courses
Sign Up

More about this course

In this course we're going to look at GLSL ( OpenGL Shading Language) to create amazing effects

Maybe you are

  • a designer who has seen some terrific, cutting edge websites using cool transitions and wondered how it was done. You may have heard about WebGL and know that you can use some simple THREE.jscode to do some remarkable things
  • a developer trying to visualise some data in a striking way. 
  • a game developer wanting to add some custom effects to your 3d objects surfaces.

GLSL is how you can use OpenGL to display a surface. The code syntax is based on the C language, but fear not, we will assume you have literally no knowledge of this language at all and we will, as the course title states, learn this from scratch. GLSL uses the GPU ( the Graphics Processing Unit) to handle multiple programs at the same time, so it is unbelievably fast

In the course we will be writing code for the browser, because this allows us to focus on GLSL, without needing to worry about installing any additional software. We will be using the THREE.js WebGL library and CodePen so you can instantly edit the source and see the results, needing nothing other than a browser to experiment. Only a small amount of Javascript is used but this will be explained thoroughly as it comes along. But you can also use what you learn about GLSL in a C/C++/C# program or a Python program.

We will start from really simple examples and progress slowly through each stage of developing a custom shader. You will be able to play with the shader code on CodePen, so you can experiment with different values to see the impact it has on the end result. 

GLSL shaders are split into vertex shaders and fragment shaders and we will focus initially on the fragment shader, working essentially in a 2d environment. With dozens of shaders in the course resourcesyou will learn the language in gentle stages

Creating your own shaders means understanding the GLSL language and that is the aim of the course. You could search for a suitable shader on ShaderToy, ShaderFrog or glslViewer and then try to adapt the code. But without knowing the language you're going to find that difficult to do. To really be effective you need to know about the GLSL language, shaping functions, tiling, polar coordinates and lighting calculations. To do this you will need to follow along with the course and complete the many challengessuggested. At the end you will then be able to create any shader that you can imagine. 

As usual there is a 30 day money back guarantee. So you have nothing to lose. Let's get shading today

What students say

"I came here interested in making a custom lighting shader on an obj model, and I really found answers to my questions and more. The two faced aspect of the lessons and the CodePen sketches [are] great. I thank you !"

"A great course! Methodical, step by step explanations not only of the GLSL but also of the general theory behind shaders, usable with any shader systemEssential if you are into computer graphics or generative art. Thank you!"

"I've tried to pick up shaders in the past but found it quite difficult. Unlike other resources I've found, this course was the course that finally helped me get a much better grasp of glsl. It is well structured and very informative. I would recommend it to anyone looking to pick up glsl."

"This is exactly what I needed. I am a web designer/developer with design background and a good a good deal of javascript experience I'm trying to get into 3D visualizations for web. Since GLSL is written in C language it had been a huge barrier. I totally recommend this course to anyone having problems to get a clear understanding of GLSL."

"So far this course has been really amazing. Very few courses on shaders really take the time to explain the math behind what's happening in a way that let's "non-math" folk develop an intuition for it. Great job!"

"I was always intimidated by the idea of GLSL, even though I'm an advanced front-end developer. I've always been terrible at math; and yet Nik's style of teaching made me understand everything very intuitivelyand I'm so comfortable with shaders now. I've bought 60+ courses... and I quit most of them after a couple videos. This one has me hooked on my chair until I finish everything! Coding along to this course is fun and Nik's challenges feel very rewarding to either solve or understand through his crystal clear explanation!"

"This is a perfect course for anyone wanting to learn about GLSL in a gradual manner. The instructor makes sure to spend enough time in the basic functions of GLSL, so students can get a proper understanding before moving on to the next concept. I had found GLSL a bit daunting in the past because examples would get out of hand very quickly, so I really appreciate this course's approach."

Who this course is for:

  • Web developers looking to use the latest techniques to make stand out websites.
  • 3d developers needing to create their own shaders.

42 Lessons

Introduction
0:03:51
Welcome to the Course
free preview
0:03:06
Introduction
free preview
0:02:00
Parallel Processing
First Steps
0:07:00
GLSL is not Javascript
0:07:42
Using THREE.js as your development platform
0:07:30
Your first shader
0:04:21
The vec class
0:09:57
Changing the color using the mouse
0:04:39
Changing color with time
0:05:51
Blending colors
0:04:49
Uniforms and varyings
0:06:02
Using clamp
0:04:19
Using step and smoothstep
View more lessons +
Enroll in this course for $19.97
or $15/mo for unlimited courses

Class benefits

24/7 streaming access
30 day money-back guarantee
Teacher Q&A
3h 42m of video content
1 downloadable file
1 peer to work with
Have a coupon?

About the instructor

After getting a degree in Graphic Design, I started work in 1980 as a cartoon animator. Buying a Sinclair ZX81 back in 1982 was the start of a migration to a full time programmer. The ZX81 was quickly swapped for the Sinclair Spectrum, a Z80 processor and  …

View full profile

Access unlimited courses for only $15 per month

Start your 14 day free trial. Cancel at any time.

Join Today