Time flies! Almost two years have passed since we announced the Babylon Native project and it has been steadily gaining attention while we flush out all the capabilities.

Image for post
Image for post
Star history (t9t.io)

In the last update, Ryan Tremblay from the Microsoft Power Apps team wrote about Babylon React Native which brings 3D and XR to React Native. As we continue on this journey to support developers to write once and run everywhere, more and more teams are joining the effort with the core Babylon Native team to assist on the various issues and features to complete the story. …


In my last demo, I exploited a technique to do light trails behind each ship. As I got few questions about it, I believed it deserved its own blog post. The trick itself is very simple and can be derived for various effects like smoke trails, weapon trails, missile smoke…

Let’s dive in!

The playground for this experiment is accessible here!

How does it work ?

Trail mesh is a simple ribbon that is deformed by a vertex shader to align it toward the camera eye. Also, positions are sorted in a float texture. Each frame, a new position is appended and the oldest…


A few years back, I was very happy about a rug I found online. It would be perfect for my living room. Once I finally received it, I unrolled the rug on the floor and… Ta-da… No, not at all! It was actually horrible. The rug was nice by itself, but I just hadn’t pictured that its color wouldn’t fit at all with the rest of the room. I had to go through the hassle of returning it. Does this sounds familiar?

We are now in 2021 and 3D visualization technologies, initially developed for gaming and visual effects, have begun…


Image for post
Image for post

Just bundle them together!

Packaging Babylon.js was always an interesting task for the team. In the early days of the framework the common way of consuming a JavaScript framework was to load it in a script tag in your HTML and populate a global namespace (usually on the window object). This is how all major frameworks used to work — and probably still do. The most known example was (and I guess still is?) jQuery, that was always available using the `$` variable(and the jQuery object, of course). …


Image for post
Image for post

When it comes to any application, you can’t go wrong with a good solid GUI. GUI is the foundation element that will help the user interact with your scene. However, when it comes to working with a GUI, it can be a little daunting! So daunting, how often would you say you are adding it at the last minute in the end? I know I have. 😂

Well fear not! As someone new to the Babylon.js GUI world, I myself was overwhelmed. As such, I decided what better way to face my fears than to jump right in and make…


Image for post
Image for post
Photo by Giu Vicente on Unsplash

One of the most well-known problems with physically-inspired interactions in virtual reality is that the virtual world provides no physical feedback. When you hammer a nail in the real world, the hammer bounces off the nail with a satisfying bang; but in VR, even if we play bang.mp3, the hammer doesn’t bounce, and it doesn’t really feel like you hit something. Likewise, when you fire a laser pistol in VR, there’s no recoil; the game may show an effect and play a sound, but the lack of force feedback detracts from the impact, and the whole interaction can often feel…


Our mission is to create one of the most powerful, beautiful, and simple web rendering engines in the world. Our passion is to make it completely open and free for everyone.

Today we are proud to introduce the latest evolution of the Babylon Platform, the amazingly simple Babylon.js 4.2.

We are artists, developers, creators, and dreamers and we want to make it as simple as possible to enable everyone to bring their ideas to life. With this new version of Babylon.js, we set out to make it even easier to develop with. From a ton of new tools, to…


Think back to those halcyon days when video games came on cartridges, controllers were square, and televisions were big, rounded, and weighed nearly as much as a fully loaded pickup truck. The days when computational speed was measured in megahertz, and when television was fuzzy pixels dancing across curved screens illuminated by cathode rays that may or may not have permanently damaged our eyes. Ahhh the memories…

Image for post
Image for post
https://atariage.com/forums/topic/271350-crt-tv-vs-modern-tv-for-retro-games/?do=findComment&comment=3876282

We can’t bring back the past, but through the magic of shaders and math, we can try to emulate some of the artifacts of this bygone era to give your games that warm…


One of my personal hills, that I’m ready to die for, is the opportunity to improve JavaScript by adding better threading support. So far the current state of that support is pretty limited to using WebWorkers which unfortunately cannot be as powerful as threads are in languages like C++ or C#.

I do not want to blame the browser vendors though, because this topic is quite complex and can come with a lot of pain.

Image for post
Image for post

That being said and with the current way of working in JavaScript, we can still feel a bit of what multithreading can be thanks to…


Full disclosure: I am a technical artist working for Microsoft on the Babylon.js engine. In the past, however, I have worked full time in the Unity engine on projects for HoloLens, 3D for Everyone, and Real-Time 3D Scanning. So what is it like to move from a native engine like Unity to a WebGL engine like Babylon.js? It was not as jarring as I would have initially thought.

First of all, we need to acknowledge that comparing a native 3D engine to a WebGL engine is not an apples to apples comparison. There are limitations on WebGL that are not…

Babylon.js

Babylon.js: Powerful, Beautiful, Simple, Open — Web-Based 3D At Its Best. https://www.babylonjs.com/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store