GLSL Shaders from Scratch
20h 11m 38s
English
Paid
This course is designed for developers who want to learn how to create impressive visual effects. From control functions and lighting models to AAA-level realistic grass and procedurally generated landscapes built purely on mathematics, you will not only learn how to create beautiful shaders but also gain the tools for further independent growth in this area.
About the Author: SimonDev
Hello! My name is Simon - I am a senior graphics engineer with over 20 years of experience. You might know me from a YouTube channel with over 214,000 subscribers (as of writing this).
I have a degree in computer science from the University of Toronto. I started my career in the early 2000s as a graphics programmer, working on the original Xbox and PlayStation 2 consoles. In the gaming industry, I specialized in 3D rendering and performance optimization, developed my own engines and shader tools, implemented visual effects, and configured pipelines. One of my projects—a custom shader graph system—was presented at the GDC conference in 2007, long before popular visual shader editors emerged.
Later, I joined the Chrome team at Google, where I spent about seven years working on performance, infrastructure, and tools for large-scale profiling and tracking regressions.
At the same time, I worked on various unusual and fascinating projects. For example, I created and maintained an MMO with millions of players and tens of thousands online simultaneously—with a server-side in C++ and a client in Adobe Shockwave. I also consulted on mobile game development for the iPhone, including rewriting the backend from PHP to Python, which reduced server costs from ~$10,000 to ~$50 per month.
Now, I create technical demos and run a YouTube channel dedicated to real-time graphics, performance, and game development. I still adore all of this—and strive to share the knowledge I've accumulated.
Watch Online 71 lessons
0:00
/ #1: Course Overview
All Course Lessons (71)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Course Overview Demo | 01:45 | |
| 2 | Welcome and Introductions | 05:54 | |
| 3 | Sample Shader | 02:53 | |
| 4 | GLSL Overview | 03:22 | |
| 5 | Transformation Pipeline & Shader Inputs | 07:27 | |
| 6 | Key Takeaways | 02:18 | |
| 7 | IDE Setup & Template Code | 04:17 | |
| 8 | Simple Colours & RGB | 04:06 | |
| 9 | Shader Inputs - Varyings | 03:48 | |
| 10 | Shader Inputs - Uniforms | 04:14 | |
| 11 | Shader Inputs - Attributes | 02:57 | |
| 12 | Simple Textures & Colours | 07:35 | |
| 13 | Working with Alpha | 03:48 | |
| 14 | Addressing | 03:39 | |
| 15 | Filtering | 04:22 | |
| 16 | Step, Mix, Smoothstep | 17:47 | |
| 17 | Min, Max, Clamp, Saturate | 04:25 | |
| 18 | Fract & Friends | 15:36 | |
| 19 | InverseLerp, Remap, and the Derivative Functions | 06:57 | |
| 20 | Sin/Cos | 06:25 | |
| 21 | Common Vector Operations | 08:03 | |
| 22 | Ambient & Hemi Lights | 07:05 | |
| 23 | Lambertian Lighting & sRGB | 07:37 | |
| 24 | Phong Specular | 03:40 | |
| 25 | IBL Specular & Fresnel | 07:52 | |
| 26 | Toon Shading | 05:12 | |
| 27 | Recap | 02:24 | |
| 28 | Simple Transformations | 07:23 | |
| 29 | Varyings in Way More Depth | 09:49 | |
| 30 | Project: Pop-In (easing functions) | 02:10 | |
| 31 | Project: Warped Sphere | 06:37 | |
| 32 | What are SDF's? | 07:58 | |
| 33 | Simple Shapes | 05:38 | |
| 34 | Transformations | 03:47 | |
| 35 | Antialiasing & Shading | 02:31 | |
| 36 | Boolean Operations | 09:40 | |
| 37 | Project: Cloudy Day | 34:15 | |
| 38 | Intro to Noise | 03:39 | |
| 39 | Value & Gradient Noise | 02:40 | |
| 40 | Filtering | 06:36 | |
| 41 | Perlin & Simplex | 10:07 | |
| 42 | More Noises! | 14:18 | |
| 43 | Project: Landscape | 12:15 | |
| 44 | Project: Burn Transition | 07:22 | |
| 45 | Intro to PostFX | 02:43 | |
| 46 | Basic Colour Manipulation | 12:48 | |
| 47 | Colour Boost, Vignette, Pixelation | 10:43 | |
| 48 | Distortions & Ripples | 06:58 | |
| 49 | Stars | 13:38 | |
| 50 | Planet | 21:52 | |
| 51 | Intro | 02:40 | |
| 52 | Theory | 09:42 | |
| 53 | Basic Implementation | 15:24 | |
| 54 | Advanced Features | 26:44 | |
| 55 | Project: Terrain | 30:42 | |
| 56 | Initial Setup | 02:57 | |
| 57 | Introduction & Outline | 04:58 | |
| 58 | Overview of GDC Paper | 04:55 | |
| 59 | Basic Idea and Approach | 09:35 | |
| 60 | Single Blade of Grass | 21:43 | |
| 61 | Basic Lighting & Wind | 47:20 | |
| 62 | More details | 32:57 | |
| 63 | Basic Particles | 35:12 | |
| 64 | Particle Systems | 02:45:52 | |
| 65 | Blending | 01:15:24 | |
| 66 | GPU Particles - Stateless | 01:05:52 | |
| 67 | GPU Particles - Stateful | 01:04:40 | |
| 68 | GPU Particles - Advanced | 49:31 | |
| 69 | GPU Particles - Boids | 01:35:03 | |
| 70 | GPU Particles - Boids 2 | 01:04:31 | |
| 71 | GPU Particles - Boids 3 | 15:01 |
Unlock unlimited learning
Get instant access to all 70 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionBooks
Read Book GLSL Shaders from Scratch
| # | Title |
|---|---|
| 1 | glsl-chapter-2-homework-answers |
| 2 | glsl-chapter-3-homework-answers |
| 3 | glsl-chapter-4-homework-answers |
| 4 | glsl-chapter-5-homework-answers |
| 5 | glsl-chapter-6-homework-answers |