GLSL Shaders from Scratch
About the Author: SimonDev
SimonDev (Simon Schreibt is a different person) is the YouTube channel and paid-course brand of an independent game and graphics developer — focused on the math, shaders, and Three.js / WebGL work that anchors modern interactive 3D in the browser. The channel has built a reputation for unusually deep treatments of computer-graphics fundamentals.
His CourseFlix listing carries three SimonDev courses: Three.js & GameDev, GLSL Shaders from Scratch, and Math for Game Developers. The teaching style is rigorous about the underlying math (linear algebra, trigonometry, calculus applied to graphics) that most graphics tutorials skip.
Material is paid and aimed at developers ready to study computer graphics from the foundations rather than copy shader recipes. For broader content, see CourseFlix's Three.js, Game Development, and Compilers & Interpreters category pages.
Watch Online 71 lessons
| # | 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 |
Get instant access to all 70 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionBooks
Related courses
-
Updated 3y agoCreate a 3D multi-player game using THREE.js and Socket.IO
By: UdemyWith Socket IO it is very easy to create a game where multiple remote players can share data. In this course we start by installing NODE.js, a prerequisite of S2h 39m -
Updated 8mo agoMath for Game Developers
By: SimonDevWelcome to a course designed specifically for developers who might feel intimidated by math.6h 5m -
Updated 2y agoMaster the Lua Scripting Language
By: Gustavo PezziThis course is a comprehensive immersion in the Lua programming language - one of the most popular scripting languages in the world.13h 59m