Software Engineering

Welcoming change: how decoupling can make your application more flexible


One of the most difficult things when starting a new project is choosing the technology stack to use. Should you use a NoSQL database? Key-value, document-oriented or graph-based? What about using a service-oriented architecture? Microservices? What about a...

Programming Patterns

Building Real-Time Collaboration Applications in Three.js


In this post we’ll look into creating a real-time collaboration applications in Three.js. If you’re working on a real-time web application or a multi-player game, I think you’ll find the approach below interesting. This approach builds on...

Programming Patterns

Efficient WebVR Development Using the Adapter Pattern in Three.js


In this post we’ll use the Adapter Pattern to improve the development experience when working on WebVR applications. We’ll apply some of the SOLID principles of object-oriented design to create an application that is both easy to write and...

Tutorials

Mesh Manipulation Using Mean Values Coordinates in Three.js


In this post we’ll create a simple Free-Form Deformation (FFD) tool in Three.js using Mean Value Coordinates. The idea of FFD is to create a surrounding lattice around a mesh that we would like to modify. Then, by adjusting the control points of the lattice,...

Programming Patterns

MVC Pattern For Building Three.js Applications


In this post we’ll explore an MVC approach for building complex Three.js applications. If you have ever worked on a medium-to-large javascript application using Three.js, you have probably experienced how quickly things can get out of control: The codebase...