Get to know one of the most cutting-edge parts of the web right now: OpenGL shaders. The top websites are using them in their web designs but most sites aren’t due to the lack of understanding about how to use them.
In this course, we’ll show you how to make shaders from scratch using the programming language, GLSL, along with everything you need to know about uniforms, vertex and fragments, and then how to apply them to both 2D and 3D projects on the web.
What a shader is exactly and how to write GLSL code
What uniforms, vertex and fragment shaders are
How to apply GLSL code to the web using GlslCanvas and Three.js
Quick mathematical techniques for producing stunning graphics
How to use procedural noise and randomness to create changeable graphics
14+ hours of video lessons – Practical, go-at-your-own pace learning
Access the community – Join our Slack and connect with thousands of SuperHi students and alumni
Continued help – Help from our expert teachers and educators with years of experience in the industry
Real world projects – Projects and code that you can alter and remix to add to your own sites and portfolio
Resources – Resources to get you started and going post-course
Extra homework challenges – Test your knowledge with exercises based on the course projects
This course is aimed at creative people who want to make highly-performant graphics for the web.
A computer (Windows, Mac or Linux) with the latest version of Chrome installed and a broadband internet connection. Just that!
We’ll sample areas of texture in both a standard x/y direction but also using angles and distance. We’ll change an image into a mesmerising kaleidoscopic pattern and make it interactive to allow users to interact with their mouse and change the texture within the shader to produce a dynamic effect!
We’ll work with randomness, noise and fractional Brownian motion (these are technical terms for adding grain and natural-looking distortions). Rather than using a static background, we’ll make an organic-looking textured background, before adding real-time color changes, mouse movements, and interactivity.
In this project we'll make multiple versions of interactive art using photography. We’ll add multiple interactive areas to the same web page, all with slightly different inputs and we’ll also go through how to display image textures in their original aspect ratios, along with how to distort and morph textures.
We'll take a slideshow of history’s greatest posers and add a morphing transition effect. We’ll add multiple textures and look at how to go between textures using timelines. We’ll add in a touch of noise to add some randomness to our transitions too.
Learn how to take your shaders to the next dimension! You'll learn the z-direction with the first of our 3D projects and in this site we'll use Three.js to make a metal jellyfish with fully-custom lighting and movements.
In Cryptoquartz, we’ll generate our very own digital art piece using a combination of Three.js to generate a 3D sphere, and two shaders to alter its appearance. We’ll introduce vertex shaders, then use randomly generated gradients to give it color. We’ll also allow users to change their sculpture using input sliders and save what they’ve made to an image.
In this final project, we’ll discuss how we set up a 3D slideshow using a combination of the techniques we’ve learned. We’ll then add natural cloth-style movement to our textures and interactivity to let our users’ cursors push back the texture. By the end of this project you’ll be very comfortable in writing your own shader code within both 2D and 3D web projects!
Our instructors have decades of professional experience, have spoken at international conferences and have won countless web design awards.
Rik (he/him) is a Mancunian coder, teacher and CEO of SuperHi. He was the co-founder of Steer (a code school in London) and has taught several thousand people to code. He is a bit too old to be posting memes on our social media and recently featured as a Sour Patch Kid in the Macy's Thanksgiving Parade.
Our crypto course shows you how to code websites that interact with the Ethereum blockchain and smart contracts in a practical, real-world, no-hype, no-BS, ethical way.
In this short course you’ll learn how to tackle a client brief, plan your work, design an app’s user interface, code it from scratch, and launch it on the App Store.
View our growing collection of resources, articles and tutorials. We're adding new things to read, learn and watch every week!
If you're comfortable working with a computer, then yes!
Learning new and improving your existing skills is about being patient with yourself, building up your knowledge, developing confidence through practice, and with time. We've seen our students around the world do it, and so can you.
Our beginner courses are designed for people new to the subjects. They grow your understanding so you grasp everything you need to start applying your new skills and will also give you a path to dig deeper if you want.
Our teaching style is practical and straightforward and you'll have support from our expert instructors and community for as long as you need.
We have quite a lot of students that join us and have done some coding before but want to build up confidence and techniques.
In order to help get you where you'd like to be, have a look at the sites below to see which course you can make from scratch, without any help at all.
All of our courses are unlocked and available for students to start their learning and go at their own pace. We do have a suggested weekly structure for some courses, which helps some students stay on track. However, you're definitely free to jump ahead or take as long as you need!
As soon as you checkout and pay, you'll have all the courses you paid for, in your student dashboard available to you immediately. If you're busy and can't start right away - no worries, you can pick it back up later.
At SuperHi, we provide online courses designed for creatives and made for everyone. Take a course on Code, Design, or Project Management 😊
The proof is in the pudding! Our students go on to make their own beautiful sites and some of their stunning work have won digital design awards. Take a look at our Hall of Fame to see some of the sites our students have built, many of which had only taken our Foundation course!
If you're a SuperHi student or alumni and would like to submit your project to be included in our Hall of Fame, please feel free to submit it here.
Yes, we do! All you'd need to do is send the links to your completed projects over to email@example.com at the end of your course. We will review them, provide feedback if necessary, and then issue your certificate!
All our course videos are taught using the SuperHi Editor, but you'll be able to apply everything you'll learn to a code editor of your choice. Many students go on to use other code editors, for example, if their workplace has an existing standard.
Our SuperHi Editor is designed with many smart features to help avoid wasted time looking for things like a typo or missing bracket (which is why we made it!), but the same code concepts apply to any editor.
Yes! You can use your own custom third-party domains and connect them to your sites built with our SuperHi Editor. Additionally, all SuperHi sites come with free SSL Certificates for added protection.
Here's more information on how to connect a third-party domain