I’ve added a new section to my ‘Learn to create WebXR, VR and AR, experiences with Three.JS‘ course. Learn how to make your WebXR website into an installable app, using Progressive Web Apps (PWA) technology. You’ll start with a super simple example. Then learn how to package it using PWABuilder. Then learn how to use Oculus Developer Hub to deploy your app to your headset. Finally you’ll learn to create, package and deploy a WebXR example.
The course builds on the skills you learn. The next game is a shooter and you learn how to animate a player avatar, how to control NPC characters so they patrol on a random path using navigation meshes and path-finding. You’ll learn how to control the avatar with a keyboard or gamepad and on a mobile using an on-screen controller. You’ll learn how to fire bullets at the enemy and add AI to the NPCs so they fire back. All the key ingredients of a shooter game.
The last game uses the physics engine CannonJS to control the motion of balls in an Eight-ball Pool game.
Along the way you’ll learn to use the 3D application program Blender to prepare your 3D assets for the games you develop.
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.
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.”
“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!”
I’ve been working with the URP team at Unity 3D since September 2021. The initial project was an e-book, a guide for those making the transition from the Built-in render pipeline (BRP) to the newish Universal Render Pipeline (URP) it is due for release around Easter 2022, to link to the launch of Unity 2021.2, LTS. To help launch the e-book I’ve completed two videos. You can see an early version of these by following this link. The GitHub repo is here.
I’d like to thank all my students for a great year. I hope my courses helped with your career or helped you understand often difficult concepts. In the new year watch out for
URP Shaders and Shader Graph added to my Learn Unity Shaders from Scratch course
A complete revamp of Create a 3D multi-player course with Three.JS and Socket.IO
A new course about using Google’s for quick, multi-platform AR
A new course on using Unity’s Universal Render Pipeline (URP). I’ve just completed the e-book Built-in to URP Migration Guide for Unity, so expect a few less known tips and tricks in this course direct from Unity’s URP team.
A complete revamp of Create a 3D Car Racing Game with THREE.js and CANNON.js
A complete revamp of Create a 3D RPG Game With THREE.js
That’s my aim for 2022.
If there is a course you’d like me to add to my TO DO list then contact me [email protected] or via my Facebook groups or Twitter @NikLever
Here’s links to all my courses at the lowest price you’ll find them from today until the 28th. Or use the code XMAS21
A blur filter is a useful addition to a ThreeJS website. You can blur the scene to set focus to an HTML overlay. Check out the filter on CodePen. To see how it is done go to my Courses page and look for ‘Learn GLSL Shaders From Scratch’