
Babylon.js: JS framework for building 3D games with HTML5 and WebGL - dirkk0
http://blogs.msdn.com/b/eternalcoding/archive/2013/06/27/babylon-js-a-complete-javascript-framework-for-building-3d-games-with-html-5-and-webgl.aspx
======
Tloewald
The kicker here is they've built a 3d workflow (i.e. OBJ and FBX support, and
direct Blender export). This means that, unlike with almost any other option
you don't start out needing to implement 3d import from scratch.

On the down-side they do not appear to have implemented 3d animation yet.
Assuming we can go from animated FBX to Babylon fairly seamlessly, this starts
to look pretty useful.

The next thing would be a halfway decent positional sound library.

~~~
DanielRibeiro
Three.js has OBJ support natively (I've written a extension to allow you to
view them directily on your github[1]). COLLADA and glTF, which provide
support for animations, are also supported[2].

Cannon.js is a promising physics engine[3].

Nonetheless, it is exciting to see Microsoft not only supporting WebGL, but
also promiting open source libraries to ease development on the platform.

[1] [https://github.com/danielribeiro/three-
hub](https://github.com/danielribeiro/three-hub)

[2]
[http://threejs.org/examples/webgl_loader_collada.html](http://threejs.org/examples/webgl_loader_collada.html)

[3] [http://cannonjs.org/](http://cannonjs.org/)

~~~
Tloewald
I tend to be dismissive of OBJ support since it's so easy to do and doesn't
get you terribly far, but yes that's nice.

Collada support is a lot more impressive, but FBX support -- even though FBX
is proprietary -- is much more useful given the wider and broader support for
FBX out there (even Blender can export to FBX).

------
mistercow
This is really awesome, and it seems like proper WebGL games are going to
become a common reality soon.

Chrome handles these samples very well, except for one thing which I think
would be a major distraction for games: there's a ~1/sec stutter, which I
assume is a GC pause. Google touts their stop-the-world GC as being ultra
efficient and accurate, and in many ways it is. But I'm not sure that STW is
an appropriate approach for games.

The stutter has improved in recent updates, but it's still there. I wonder if
they'll consider an alternative GC approach for situations involving
continuous rendering.

~~~
pygy_
The samples work fine is Firefox 22 too (30 to 60 FPS 1.8 GHz Core i5),
without the pause you're describing.

~~~
pyalot2
Firefox has been working on an incremental GC

~~~
mistercow
I believe that they have been using an incremental GC since version 16.

~~~
kevingadd
Correct. In profiles I typically observe incremental GC running in 1-5ms
increments, which makes it easier for it to fit in between frames without
causing visible stutter.

------
rl3
Babylon.js seems to have evolved from Babylon Toolkit, a 3D framework for
Silverlight 5:

[http://babylontoolkit.codeplex.com/](http://babylontoolkit.codeplex.com/)

------
muyuu
Link to the website of the project:
[http://www.babylonjs.com/](http://www.babylonjs.com/)

You can see demos directly there.

------
astrodust
Looks like the goals that inspired the quirky, far too limited VRML standard
([http://en.wikipedia.org/wiki/VRML](http://en.wikipedia.org/wiki/VRML)) have
finally been realized.

------
davrous
Please note that we've also worked on a companion framework named GameFX:
[http://blogs.msdn.com/b/davrous/archive/2013/07/23/introduci...](http://blogs.msdn.com/b/davrous/archive/2013/07/23/introducing-
babylon-gamefx-a-framework-to-build-html5-webgl-games-in-a-few-lines-of-
code.aspx)

As Babylon.JS, it's open source, mostly done on our free time and works well
on every platforms supporting WebGL such as Chrome, Firefox, Opera, Android,
Firefox OS and of course IE11 (win 8.1/RT).

------
teamonkey
This is a 3D renderer like three.js. Does anyone know how they compare?

~~~
ilaksh
As far as I can tell they copied the major features and concept of Three.js,
added a few extra features, but implemented it in such a way that it is only
performant in a specific version of Internet Explorer. In other words,
embrace, extend, extinguish.

I don't understand why people keep falling for this crap. Microsoft will do
the best that it possibly can to disrupt WebGL with compatibility and other
issues, just as it has always done with every key aspect of web technology.
This li brary is the latest example. They could have easily made improvements
to Three.js or some other existing library that was tested on other browsers
but they did not. There are too many billions of dollars on the line. 3d
gaming in the browser means the end of the Windows PC monopoly and Microsoft
knows that whether the rest of you do or not. No I'm not exaggerating.

~~~
mrdoob2
I think competition is good. Soon after babilon.js got released I took a look
at their file format and did a loader for three.js. This made me see how much
three.js needed some geometry structure refactoring (moving towards a bunch of
flat typearrays). I'm slowly working on that but I still need to find a nice
API for it [1].

[1]
[https://github.com/mrdoob/three.js/issues/3672](https://github.com/mrdoob/three.js/issues/3672)

~~~
mrdoob2
*babylon.js

------
_random_
People wanted XNA 5, not yet another WebGL framework.

------
robeastham
And tonight was the night where I was going to figure out how to use my Oculus
Rift with WebGL.

This looks to have awesome potential. Well done!

~~~
pfraze
Just in case you're still looking:
[https://github.com/benvanik/vr.js](https://github.com/benvanik/vr.js)

------
EugeneOZ
Breathtaking! 120 FPS in all demos (because my video driver settings limit FPS
to 120). Chrome, gtx680.

------
deltakosh
Version 1.2 is out :) [disclaimer: I'm the author^^] Major rework of the API
to remove GC pressure New 3D charting demo

------
arxpoetica
"Sorry but your browser does not support WebGL..." Wait. What?

Apple Mac OS X 10.7.5 Intel Chrome 28.0.1500.95

~~~
arxpoetica
BAH. Apparently Chrome blacklists certain scenarios. Dumb.

------
3dev
"Please note that babylon.js use a left handed coordinate system"

Thank you very much and please close the door when you leave the room.

~~~
James_Duval
Why's that so bad? A comment in this discussion
([http://programmers.stackexchange.com/questions/17519/why-
doe...](http://programmers.stackexchange.com/questions/17519/why-does-directx-
use-a-left-handed-coordinate-system)) suggests that it is trivial to transform
one system to the other.

~~~
3dev
It's actually not that bad but OpenGL (and thus WebGL) is a right-handed
system by default (It supports whatever system you want though). And right-
handedness is also kind of a standard, think about cross-product, Counter
Clock Wise direction, etc...

------
seferphier
Oculus Rift + Babylon.js = <3

------
LekkoscPiwa
I don't do game development at all, so please take my comment with a grain of
salt.

How is this better than Flash/Flex/whatever Adobe has to play games? I mean
waiting time is still there and I don't think Babylon.js works on all browsers
the same (i.e. single code base for your game).

Second question: if I want to develop a game to be played on browsers AND
mobile (iOS + Android) and I'm a single developer, isn't Adobe my best bet?

~~~
jiggy2011
Well, flash support on mobile is somewhere close to non existent and last time
I checked the various flash 3D libraries (Away3d etc) the performance left
something to be desired.

~~~
ajselvig
Yes, but you can export iOS and Android apps with Flash. The iOS browser still
does not have support for WebGL.

------
swang
1\. Microsoft 2\. Not open source

~~~
pixie_
This is just another technology connected with Microsoft that we should lament
- right along with C#, Mono, Knockout, and TypeScript. Microsoft earned the
ire of geeks everywhere in the 90s and it's a grudge many can't let go.
Meanwhile you let Apple and Google steamroll you all by showing you what a
real closed ecosystem monopoly really looks like. And you swallow it down
because they do it all under the banner of 'open source.'

~~~
mcintyre1994
This makes absolutely no sense. Apple (iOS, OS X as examples) generally is a
very closed ecosystem, though not a monopoly, and certainly don't operate
under the banner of 'open source'. Google (Android, Chrome as examples) is a
pretty open ecosystem, also not a monopoly, and actually is open source, no
idea what "banner of 'open source'" means but they just are open source.

On the flip side, there's no reason to hate everything Microsoft do, c# and
Mono are great. Maybe people should get over dismissing anything open source
that Microsoft do, but the rest of what you've said makes no sense.

~~~
dragonwriter
> On the flip side, there's no reason to hate everything Microsoft do, c# and
> Mono are great.

Microsoft didn't do Mono, it did .NET which Mono cloned in a form supported on
a wider variety of platforms.

~~~
pixie_
Mono is pretty much ostracized from the open source community along with many
open source C# projects. Remember the whole ordeal about including Mono in
Ubuntu?

