Fixed Canvas Backgrounds

I’ve talked a bit about separating our semantic and non-semantic content within websites. We can take our rich non-semantic content and throw it onto a canvas. This provides a number of benefits, cleaning up our markup, reducing DOM elements and optimizes performance. I’ve put together some examples of how this can be used in both Fixed Canvas Backgrounds

Beyond Parallax

This is my last episode in my series on parallax. I’m going to go through one quick demo of how we can trigger events on items based on their position in the viewport. I also talk about how we can take the ideas we’ve learned throughout the series and expand on them to create other Beyond Parallax

Mouse Parallax

In the fifth installment of my Parallax deep dive, I discuss how to use mouse movement to apply a parallax effect. Using the same plugin exporting layout data from Illustrator that I discussed in Episode 3. Then we use mouse events to adjust the offsets of our content. We also use Greensock’s TweenMax to apply Mouse Parallax

Scrolling on a Path

In the fourth installment of my Parallax deep dive, I discuss one technique to animate elements along a complex path. I discuss how to use an SVG path created in Illustrator to define an animation path for our element. We leverage Greensock’s TweenMax and it’s bezier plugin to animate along this path. Then we tie Scrolling on a Path

Advanced Parallax

In the third installment of my Parallax deep dive, I go into how to implement more advanced parallax on elements that are further down the page. We explore some more advanced calculations to get specific results based on scroll position at a target point within the viewport. I also utilize canvas to show how we Advanced Parallax

Basic Parallax

In the second installment of my Parallax deep dive, I go into how to implement basic parallax on the web. I also discuss some other things to consider when implementing parallax. We cover the formula of how to offset positions based on an offset, multiplied by the scroll position. newY = scrollY * offsetY; We Basic Parallax

Parallax Deep Dive

Welcome to the first part of my deep dive into parallax. In this part we’re going to talk about what parallax is, how it relates to the web, and whether it’s just a fad. You’ve probably experienced this phenomenon driving in a car looking off towards the horizon. The further away an object is the Parallax Deep Dive

Three.js Materials

Materials determine how the surface of our geometry is drawn in Three.js. If the Geometry is our skeleton, defining the shape, then the Material is our skin. There are a variety of different types of materials in Three.js all of which have different properties, like responding to lights, mapping textures, and adjusting opacity. Basic Material Three.js Materials

Three.js Geometry

Geometry defines the shape of the objects we draw in Three.js. Geometry is made up of a collection of vertices and often faces which combine three vertices into a triangle face. You can create your own custom geometry by defining these vertices and faces yourself, but Three.js also has a variety of common shapes for Three.js Geometry

Three.js Getting Started

Let’s set up a basic scene in Three.js. The first thing you need to do is include the Three.js library. You can download it at You can also use the CDN url from cdnjs The Renderer The first thing we need to do is create a renderer. Because Three.js supports multiple renderers we Three.js Getting Started