Skip to main content
CF

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

SimonDev thumbnail

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

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 71 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Course Overview
All Course Lessons (71)
#Lesson TitleDurationAccess
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 subscription

Books

Read Book GLSL Shaders from Scratch

#TitleTypeOpen
1glsl-chapter-2-homework-answers PDF
2glsl-chapter-3-homework-answers PDF
3glsl-chapter-4-homework-answers PDF
4glsl-chapter-5-homework-answers PDF
5glsl-chapter-6-homework-answers PDF

Related courses

Frequently asked questions

What prerequisites are needed to enroll in the course?
The course is designed for developers, so a fundamental understanding of programming concepts is recommended. Familiarity with graphics programming or computer graphics is beneficial but not required. The course begins with an overview of GLSL and shader inputs, which helps bridge any gaps for those new to shader development.
What kind of projects will I build during the course?
Throughout the course, you will work on a variety of projects, including creating easing functions in the 'Project: Pop-In', developing a 'Warped Sphere', and building a 'Cloudy Day' scene. More advanced projects include generating a procedurally created landscape and implementing a 'Burn Transition'. By the end, you'll have experience with a range of shader types and effects.
Who is the target audience for this course?
The course is aimed at developers interested in mastering visual effects and creating shaders. It is particularly suitable for those who wish to understand both the artistic and technical aspects of shader development, from basic color manipulation to complex mathematical models for landscapes and realistic grass.
What specific tools or platforms are used in the course?
The course utilizes GLSL (OpenGL Shading Language) for shader development. Key tools include setting up an Integrated Development Environment (IDE) as covered in the 'IDE Setup & Template Code' lesson. The course does not specify a particular 3D engine or platform, focusing instead on the shader development process itself.
How does the course depth compare to other similar courses?
This course covers a wide range of topics, from basic shader concepts and lighting models to advanced procedural generation and post-processing effects. With 71 lessons, it provides a comprehensive exploration of GLSL shader creation, making it suitable for those seeking a detailed understanding rather than a brief overview.
What topics are not covered in the course?
The course does not cover the integration of shaders within specific game engines like Unity or Unreal Engine. It also does not delve into other shading languages such as HLSL or Metal. The focus is strictly on GLSL and the mathematical foundation behind creating various visual effects.
What is the expected time commitment for this course?
While the runtime is not specified, with 71 lessons, it is advisable for students to allocate several weeks to complete the course, depending on their familiarity with the material and the time spent on each project. Dedicating consistent weekly study sessions will help in absorbing the complex topics and techniques taught.