Intermediate Three.js with Shaders
What you'll learn
- Create and understand ThreeJS shader composition and setup
- How to import textures into your shader to create a globe
- How to create vertex and fragment shaders
- How to import shaders into a vite project
- Understand complex 3D terms like normals, attributes, varyings, and UVs
- How to draw interactive data points onto a globe with latitude and longitude
- How to import bulk data and read it onto a scene
- How to animate generated meshes with GSAP
- How to add click and drag functionality to the globe
- How to scale a 3D scene for smaller screen sizes
- How to add mobile event listeners
Requirements
- You must have development environment with ThreeJS setup already - I use Vite here for mine, which you can learn how to do by taking my Modern ThreeJS course also on Udemy
- Vite with ThreeJS installed is recommended for a frontend server, but not required
- ThreeJS version ^0.128.0 is recommended (it's what's used in the course), but not required
- You should have a basic math background (the basics of matrices are covered, but not to the detail of a math course)
Description
PLEASE READ: This is a freemium course—the first hour and a half are free (you can watch right here on Udemy [or YouTube] with each video's "Preview" button), while the remaining 3 hours require course purchase. I've always been a big advocate of spreading the basics to as many people as possible, as I believe knowledge and personal growth are some of the best ways to better our world as a whole. Enjoy.
Welcome to the Intermediate ThreeJS with Shaders course, where you will learn how to create an interactive 3d globe with custom ThreeJS shaders.
My name is Christopher Lis, and I'm an award winning Full-Stack Engineer with over ten years of web development experience. I've directly worked with clients like Harvard University, The Basketball Tournament, and premium award winning agencies like Brave People.
The goal of this course is to get you writing your own custom ThreeJS shaders with GLSL, and to help you understand how to import these shaders into a practical ThreeJS scene. You'll also learn how to dynamically place data points on a globe based on the latitude and longitude of different countries. There are little to no videos out there that actually go into this topic in-depth so I figured I should tackle it.
In this course, you'll learn everything from:
- Vertex Shaders
- Fragment Shaders
- Import Shaders with Vite Plugins
- Normals
- Uniforms
- Attributes
- Varyings
- Point clouds and particles
- Bulk Data Imports
- Rectangular Mesh Animation
- Click and Drag Functionality
- Scene Responsiveness
- Touch Event Listeners
And so much more.
If you're serious about taking your ThreeJS skills to the next level, then shaders are logically the next step after become acquainted with the framework. Let me guide you through the full production of a 3d scene you can actually use for a real website.
Who this course is for:
- Intermediate ThreeJS Developers who know how to create scenes with materials, geometries, and meshes
Instructor
I'm Christopher Lis, an award winning, full-stack web developer who has worked professionally for clients such as Harvard University, The Basketball Tournament, and Brave People (I made their site and won two Awwwards for it). I'm also an instructor / YouTuber, and founded the JavaScript learning platform, Chris Courses.
I started my teaching journey in 2016 when I taught basic web development to high-school classes through the Girls Who Code program. Since then, I've digitized my teaching, amassing over 50k subscribers on YouTube, and earning over $20k through my custom built, educational SaaS platform called Chris Courses.