We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Learn GLSL Shaders from Scratch

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

Maybe you are

Read more

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.

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 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."

"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 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."

"Another master piece of Mr. Lever. He is an incredible instructor and deep understanding of the math behind computer graphics. A must watch even if you are already an experienced CG programmer."

Enroll now

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores WebGL and GLSL, industry-standard tools for creating stunning visual effects
Builds a foundational understanding of GLSL, a powerful shading language used in computer graphics
Teaches essential GLSL concepts like vertex shaders, fragment shaders, and lighting calculations
Provides hands-on practice through CodePen, enabling learners to experiment with GLSL code in real-time
Features a comprehensive collection of challenges and exercises to reinforce learning
Suitable for designers, developers, and game developers seeking to enhance their visual effects skills

Save this course

Save Learn GLSL Shaders from Scratch to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Learn GLSL Shaders from Scratch. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Learn GLSL Shaders from Scratch will develop knowledge and skills that may be useful to these careers:
Computer Hardware Engineer
Computer Hardware Engineers are responsible for designing, developing, testing, and troubleshooting computer hardware, including graphics cards. This course provides a strong foundation in GLSL, which is used to write shaders for graphics cards. By understanding how to write shaders, Computer Hardware Engineers can create more efficient and visually appealing graphics for video games, movies, and other applications.
Computer Programmer
Computer Programmers write and maintain the code that makes computers work. This course provides a strong foundation in GLSL, which is used to write shaders for graphics applications. By understanding how to write shaders, Computer Programmers can create more visually appealing and efficient graphics for video games, movies, and other applications.
Software Developer
Software Developers design, develop, and maintain software applications. This course provides a strong foundation in GLSL, which is used to write shaders for graphics applications. By understanding how to write shaders, Software Developers can create more visually appealing and efficient graphics for a variety of applications.
Web Developer
Web Developers design and develop websites. This course provides a strong foundation in GLSL, which is used to create interactive and visually appealing graphics for websites. By understanding how to write shaders, Web Developers can create more engaging and memorable user experiences.
Computer and Information Research Scientist
Computer and Information Research Scientists conduct research on new and innovative ways to use computers and information technology. This course provides a strong foundation in GLSL, which is used to develop cutting-edge graphics applications. By understanding the language and syntax, Computer and Information Research Scientists can create more visually appealing and efficient applications.
Graphics Designer
Graphics Designers create visual content for a variety of media, including websites, marketing materials, and video games. This course provides a strong foundation in GLSL, which is used to create visually appealing graphics for a variety of applications. By understanding how to write shaders, Graphics Designers can create more visually appealing and engaging content.
Game Developer
Game Developers design and develop video games. This course provides a strong foundation in GLSL, which is used to create visually appealing graphics for video games. By understanding how to write shaders, Game Developers can create more immersive and engaging gaming experiences.
Motion Graphics Artist
Motion Graphics Artists create animated graphics for a variety of media, including websites, marketing materials, and video games. This course provides a strong foundation in GLSL, which is used to create visually appealing and interactive graphics for a variety of applications. By understanding how to write shaders, Motion Graphics Artists can create more engaging and memorable motion graphics.
User Experience Designer
User Experience Designers design and develop the user experience for websites and applications. This course provides a strong foundation in GLSL, which is used to create visually appealing and interactive graphics for websites and applications. By understanding how to write shaders, User Experience Designers can create more engaging and memorable user experiences.
Visual Effects Artist
Visual Effects Artists create visual effects for movies, television shows, and video games. This course provides a strong foundation in GLSL, which is used to create visually appealing graphics for a variety of applications. By understanding how to write shaders, Visual Effects Artists can create more realistic and immersive visual effects.
Machine Learning Engineer
Machine Learning Engineers develop and implement machine learning algorithms. This course provides a strong foundation in GLSL, which is used to create visually appealing and interactive visualizations of machine learning models. By understanding how to write shaders, Machine Learning Engineers can create more engaging and memorable visualizations that can help communicate insights to stakeholders.
Data Scientist
Data Scientists analyze data to identify trends and patterns. This course provides a strong foundation in GLSL, which is used to create visually appealing and interactive data visualizations. By understanding how to write shaders, Data Scientists can create more engaging and memorable data visualizations that can help communicate insights to stakeholders.
Computer Vision Engineer
Computer Vision Engineers develop and implement computer vision algorithms. This course provides a strong foundation in GLSL, which is used to create visually appealing and interactive visualizations of computer vision models. By understanding how to write shaders, Computer Vision Engineers can create more engaging and memorable visualizations that can help communicate insights to stakeholders.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design, develop, and implement artificial intelligence algorithms. This course provides a strong foundation in GLSL, which is used to create visually appealing and interactive visualizations of artificial intelligence models. By understanding how to write shaders, Artificial Intelligence Engineers can create more engaging and memorable visualizations that can help communicate insights to stakeholders.
Robotics Engineer
Robotics Engineers design, develop, and maintain robots. This course provides a strong foundation in GLSL, which is used to create visually appealing and interactive simulations of robots. By understanding how to write shaders, Robotics Engineers can create more realistic and immersive simulations that can help them to design and develop better robots.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn GLSL Shaders from Scratch.
Is the official guide to the OpenGL Shading Language (GLSL). It's a comprehensive resource for learning GLSL and how to use it to create shaders for 3D graphics.
GLSLSandbox website where users can create and share shaders. It's a good resource for learning how to use GLSL and for experimenting with different shader effects.
This classic book provides a comprehensive overview of real-time rendering, including a chapter on shaders. It valuable resource for anyone who wants to learn more about the theory and practice of real-time rendering.
Classic textbook on computer graphics. It covers a wide range of topics, including 3D modeling, rendering, and shaders. It's a good resource for learning more about the fundamentals of computer graphics and how to use GLSL.
Three.js JavaScript library for creating and displaying 3D graphics in the browser. It's a good resource for learning how to use WebGL and GLSL.
Provides a comprehensive overview of physically based rendering, including a chapter on shaders. It valuable resource for anyone who wants to learn more about the theory and practice of physically based rendering.
Comprehensive guide to the Rust programming language. It covers all aspects of the language, including how to use it to create 3D graphics. It's a good resource for learning more about Rust and how to use it with GLSL.
Provides a comprehensive overview of 3D game engine architecture, including a chapter on shaders. It valuable resource for anyone who wants to learn more about the design and implementation of 3D game engines.
Collection of articles on advanced rendering techniques, including a chapter on shaders. It valuable resource for anyone who wants to learn more about the latest developments in rendering.
Comprehensive guide to the Go programming language. It valuable resource for anyone who wants to learn more about the language and use it to create amazing effects.
Comprehensive guide to the C++ programming language. It valuable resource for anyone who wants to learn more about the language and use it to create amazing effects.
Comprehensive guide to the Haskell programming language. It valuable resource for anyone who wants to learn more about the language and use it to create amazing effects.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Learn GLSL Shaders from Scratch.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser