Learn GLSL Shaders from Scratch
What you'll learn
- Learn to use GLSL to create great shaders.
- Create great image manipulating shaders for cool website effects.
- Learn to combine your shaders with lighting effects.
- Learn how to create explosions and fire shaders.
- Learn how to create procedural textures.
- Learn to create HUD displays for real-time 3d applications.
- Learn how we can use shaders to manipulate the geometry of a model
- Only internet access is required.
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.js code 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.
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 resources you 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 challenges suggested. 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 system. Essential 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."
"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 intuitively and I'm so comfortable with shaders now. I've bought 60+ courses on Udemy; 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.
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 a massive 48K of ram made this a much better computer to develop games. I developed a few games using Sinclair Basic and then Assembler. The Spectrum was swapped for a Commodore Amiga and I developed more games in the shareware market, moving to using C. At this stage it was essentially a hobby. Paid work was still animated commercials.
I finally bought a PC in the early nineties and completed an Open University degree in Maths and Computing. I created a sprite library ActiveX control and authored my first book, aimed at getting designers into programming. In the mid nineties along came Flash and the company I was now running, Catalyst Pictures, became known for creating games.
Since then the majority of my working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.
I've worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation and many other blue chip clients. The company I've run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.
Over the last 20 years I have been struck by just how difficult it has been to get good developers and have decided to do something about this rather than just complain. I run a CodeClub for kids 9-13 years old and I'm developing a number of courses for Udemy hoping to inspire and educate new developers. Most of my courses involve real-time 3d either using the popular Open Source library Three.JS or Unity. I'm currently having a lot of fun developing WebXR games and playing with my Oculus Quest.