WebGL, DOM, and Physics w/ Famo.us Mixed Mode

2 min readJan 8, 2015

Famo.us Mixed ModeFamo.us, a JavaScript framework, enables developers to create smooth, complex UIs in the browser. It includes an open source 3D layout engine fully integrated with a 3D physics animation engine that can render DOM, Canvas, and WebGL.

In the talk below, Famo.us engineer Larry Gordon gives two demonstrations of Famo.us functionality in the browser, combining WebGL, DOM, and a physics engine.

Famo.us Mixed Mode Demos

His demo at 6:42 shows the DOM, WebGL, and physics engine all working together to create an interactive, beautiful “Magic Keyboard Demonstration.”

His demo beginning at 0:45 shows a simple unicorn .svg in the DOM, and how you can shoot glitter out of its rear end using WebGL. Both demos are highly performant with little consumption, all in a web browser.

 


DOM, Physics, And WebGL in Famo.us Mixed Mode from PubNub on Vimeo.

 

Famo.us Mixed Mode Use Cases

 

Browser-based Gaming

Let’s use a side scrolling game as an example. You need a character with something representing a shield revolving around that character (in the form of an orb). You can animate that character in the DOM, while you can create that orbiting orb in WebGL. This is highly performant because it’s offloading the orb onto the GPU. With the DOm, you can easily render sprites. Melding both of these together creates a high performing game entirely in a web browser.

Webpages

You may be building a webpage and you want a button with a robust drop shadow on it. This would be very expensive to render in CSS3. Instead, you could create that drop shadow in WebGL.

 

Famo.us Mixed Mode Resources

More from PubNub

How to Create a Dating App: 7 Steps to Fit Any Design
Insights6 minMar 15, 2023

How to Create a Dating App: 7 Steps to Fit Any Design

There are common underlying technologies for a dating app, and in this post, we’ll talk about the major technologies and designs...

Michael Carroll

Michael Carroll

How to Create a Real-time Public Transportation Schedule App
Build6 minMar 14, 2023

How to Create a Real-time Public Transportation Schedule App

How to use geohashing, JavaScript, Google Maps API, and BART API to build a real-time public transit schedule app.

Michael Carroll

Michael Carroll

How to Create Real-Time Vehicle Location Tracking App
Build2 minMar 9, 2023

How to Create Real-Time Vehicle Location Tracking App

How to track and stream real-time vehicle location on a live-updating map using EON, JavaScript, and the Mapbox API.

Michael Carroll

Michael Carroll

Talk to an expert