Jump to content

Upcoming what's new for v2.0


Recommended Posts

Hey team!


Here is a preview of the upcoming "What's new" for v2.0.


Please feel free to comment if I missed something (or someone:))


- 2.0.0:
 - **Major updates**
 - Support for Procedural Texture with standard usable samples and custom support. More info [here](http://doc.babylonjs.com/page.php?p=22601) ([meulta](http://www.github.com/meulta))
 - Support for OES_element_index_uint extension in order to support 32 bits indices and then meshes with more than 65536 vertices ([deltakosh](http://www.github.com/deltakosh))
 - Support for levels of detail (LOD) for meshes. More info [here](http://doc.babylonjs.com/page.php?p=22591) ([deltakosh](http://www.github.com/deltakosh))
 - Using High Resolution Time for performance and FPS measurement ([deltakosh](http://www.github.com/deltakosh))
 - Easing functions for animations. More info [here](http://doc.babylonjs.com/page.php?p=22081) ([mimetis](https://github.com/mimetis)) 
 - New debug layer than can be used to display debug informations. More info [here](http://doc.babylonjs.com/page.php?p=22611) ([deltakosh](http://www.github.com/deltakosh))
 - New ```PolygonMeshBuilder``` object used to create mesh from [polygons](http://www.babylonjs-playground.com/#10IOII%231) ([ElemarJR](https://github.com/ElemarJR))
 - New ```Mesh.simplify()``` function to automatically simplify meshes. More info [here](http://doc.babylonjs.com/page.php?p=24822) ([raananw](http://www.github.com/raananw))
 - New ```scene.enableDepthRenderer()``` to register depth texture rendering. More info [here](http://doc.babylonjs.com/page.php?p=24825) ([deltakosh](http://www.github.com/deltakosh))
 - New ```SSAORenderingPipeline``` to apply screen space ambient occlusion. More info [here](http://doc.babylonjs.com/page.php?p=24837) ([julien-moreau](http://www.github.com/julien-moreau)) 
 - New ```VolumetricLightScatteringPostProcess``` to simulate volumetric light scattering. More info [here](http://doc.babylonjs.com/page.php?p=24840) ([julien-moreau](http://www.github.com/julien-moreau)) 
 - 3dsMax exporter can now generate binary format files ([deltakosh](http://www.github.com/deltakosh)) 
 - **Updates**
 - Babylon.Math is now a fluid API ([deltakosh](http://www.github.com/deltakosh))
 - Added FOV mode setting to cameras ([jahow](http://www.github.com/jahow))
 - You can now define if OnIntersectionEnterTrigger and OnIntersectionExitTrigger may use precise intersections. More info [here](http://doc.babylonjs.com/page.php?p=22531) ([deltakosh](http://www.github.com/deltakosh))
 - New ```scene.createDefaultCameraOrLight()``` function ([deltakosh](http://www.github.com/deltakosh))
 - Added POV movement & rotation ([Palmer-JC](http://www.github.com/Palmer-JC))
 - Starting documenting public API ([raananw](http://www.github.com/raananw)) 
 - Added render target type (unsigned or floating point) ([julien-moreau](http://www.github.com/julien-moreau))  
 - Decomposition and interpolation methods for matrices ([kpko](http://www.github.com/kpko)) 
 - Adding ```clear()``` function to DynamicTexture ([deltakosh](http://www.github.com/deltakosh))
 - New ```RawTexture``` object to create texture from arraybuffer with specific format (luminance, luminance and alpha, alpha, rgb, rgba) ([deltakosh](http://www.github.com/deltakosh)) 
 - Animation's key can now be functions ([deltakosh](http://www.github.com/deltakosh)) 
 - Bones and instances can be used together ([deltakosh](http://www.github.com/deltakosh)) 
 - Engine can now accept more than one render loop ([deltakosh](http://www.github.com/deltakosh)) 
 - New ```ParticleSystem.updateFunction``` to define custom behavior for particles ([deltakosh](http://www.github.com/deltakosh)) 
 - New ```mesh.renderOverlay``` and ```mesh.overlayColor``` ([deltakosh](http://www.github.com/deltakosh))
 - New "Automatically launch animations" option for Blender 3D ([deltakosh](http://www.github.com/deltakosh))
 - Support for vertex color and vertex alpha function ([deltakosh](http://www.github.com/deltakosh))
 - Adding stride size attributes to ```Mesh.setVerticesData``` function ([deltakosh](http://www.github.com/deltakosh))
 - New ```Texture.CreateFromBase64String``` function ([deltakosh](http://www.github.com/deltakosh))
 - Extending the Ray class functionality to support ray's length ([raananw](http://www.github.com/raananw))
 - New ```Effect.onBind``` callback ([deltakosh](http://www.github.com/deltakosh))
 - Added support for point rendering ([FreeFrags](http://www.github.com/freefrags) [deltakosh](http://www.github.com/deltakosh))
 - Robust Euler->Quaternion->Euler conversions ([MavenRain](https://github.com/MavenRain))
 - new ```mesh.isCompletelyInFrustum(camera)``` function ([deltakosh](http://www.github.com/deltakosh))
 - Added the possibility to disable fog for a specific material ([demonixis](https://github.com/demonixis))
 - Added the possibility to disable fog for a specific sprite manager ([deltakosh](http://www.github.com/deltakosh))
 - Added a property to ArcRotateCamera that moves the screen position of the target ([daner](https://github.com/daner))
 - **Breaking changes**
 - ```Tools.GetFps()``` and ```Tools.GetDeltaTime()``` are now functions hosted by the engine: ```engine.getFps()``` and ```engine.getDeltaTime()``` [deltakosh](http://www.github.com/deltakosh))
 - **Bugs**
 - Insane amount of fixes for 3dsmax and blender exporters ([deltakosh](http://www.github.com/deltakosh)) 
 - Fixed nearest texture filters ([deltakosh](http://www.github.com/deltakosh)) 
 - Fixed mesh loading when url has a query string ([dlajarretie](https://github.com/dlajarretie))
 - Fixed a bug with pause/restart on animations ([deltakosh](http://www.github.com/deltakosh)) 
 - Fixed a bug with CSG and transformations ([deltakosh](http://www.github.com/deltakosh)) 
Edited by Deltakosh
Adding missing stuff
Link to comment
Share on other sites

aaarggghhh  :o  :o  :o


oki so

I will attempt to achieve the full process (compile/test/PR), still unkown to me, this morning. :wacko:

Too bad if can't succeed, not such a great deal. ;)


I thought you were too busy next tuesday at making your big show  :lol: so you couldn't release.. Arf, so are you a multi-threaded guy ? :P

Link to comment
Share on other sites

"When you just can't achieve a goal, make sure you can claim this was your first intention :lol: "

(Jerome's) old chinese proverb


"When you want to declare with emphasis something totally insane, just pretend it's some old chinese proverb"

(Jerome's) old chinese proverb





recursive loop somewhere, nope ?  :D

Link to comment
Share on other sites


If I target 2.01 for Ribbons, how does it work :

As soon as 2.0 is released, the github master branch becomes the 2.01beta ?


I don't really understand the correspondance between the current master branch and released versions.

Is the master branch some kind of continuous development and released versions some fixed point in time of this master branch ?

Link to comment
Share on other sites

Boy, there's a good question, and now I don't feel so alone in my confusion on that subject.  I've seen additions to the framework happen instantly or within an hour.  And then there's this 2.0 thing that has "ship" deadlines and strict regimentation, and it appears so inflexible that you'd swear it was frozen in a block of ice.  :)  The 2.01 beta thing I mentioned... was just a joke. (I guess).


To be frank, I gave up on contributing source code... about day 2 around here.  Between the hell that IS github, and typescript, I decided that I can contribute to BJS in easier ways, ways that are more commensurate with my abilities.  I'm still trying to figure out what the term "ships" means for BJS (and BabylonDoc), because what is shipping where?  Or is that some term that has a different meaning, when applied to community-driven software?


I feel your frustration, Jerome.  There's just nothing I can do about it... although I would sure like to, and I've tried.  You have blazed some exciting new trails for the framework, and now "we" as a community... seem to want to crap all over you and leave you out in the cold, information-wise.  I DO NOT want to see your contributing spirit and enthusiasm... get stomped-on.  But as far as I can see (not very far), that is exactly what is happening.


If I had my say, I'd bring the 2.0 release to a screaching halt, and GLADLY get all your stuff onboard it, without delay.  In my opinion, you have done everything right, Jerome, and we, as the support structure for great contributions... have done everything wrong.  I really wouldn't blame you if you said F-THIS... and ran away screaming and pulling your hair out.


I don't know what to tell you, J.  Maybe others will... but that hasn't been the case to date, at least not much. (Thanks to those people and times when you HAVE gotten something valuable/usable for answers). 


On behalf of myself, as someone who completely dislikes when crap like this happens, I want to apologize, and say THANKS for putting-up with so many dead-air replies to your good questions.  As a simpleton documentation author, I feel that I have a huge gap to fill with decent documentation about these subjects, and how ironic that it is a gap that YOU have pointed-out... yet another great contribution on your part.


I will keep your great work alive, even if this community tries to kill it.  You have my word on it.  Normally, I'm quite a light-hearted chap, but on THIS subject, I'm less than optimistic.  Maybe, once we get on the other side of this Paris Tech Days thing, we'll know more.  Just maybe, there are motivations and forces at work behind the scenes... that we are not allowed to discover, yet, or ever.


I am wrong often, though.  Let's hope I'm wrong about this, too.  I just don't see the big picture.  I'm not sure I'm ready to see it.  And you are seemingly buried in the mud of the big picture.  I'm not sure my little tractor can pull you out, but I'm still hooking my chain to you... in hopes that you won't sink away.

Link to comment
Share on other sites

Hey Wingy,


Don't worry please. 


I don't feel disapointed  ;) and I won't give up so fast.

I love BJS, I want to use it and I even have the secret (arg, no more, now I'm telling) intention to submit it as THE 3D dev tools among french universities sysadmin developers : you know, it's just a matter of who introduces nice useful and new tools and who is the first to bring some support/understanding to other sysadmin developers.

They won't have time to compare frameworks, to learn everything. So if someone can explain them, write some french dedicated docs (about how coding such sysadmin tools) or propose dedicated libraries (ex : routers/switches meshes and graphs), the job will be done ;)


Back to BJS, I know each community must have its internal rules about contibuting, coding, releasing, etc.

Maybe are there somewhere I just couldn't find ?


So, anyway, I will try to go on with TS (surely add some docs for newcomers like me too, because nothing is really obvious when handling new tools), github, etc.

And try to have my ribbons PRed !

No matter if it's in the 2.0 or 34563.56 release :lol:  :lol:  :lol: Just a question of self pride :P


I have plenty of ideas to test with BJS or extensions : extrusion along a curve which seems to be just a derivative from the tube (almost ready), dashed lines, ribbon sub-parts so users could morph/color without shaders, etc

And at last, I really want to dive to shaders and GLSL, the place where the power seems to sleep ^_^


As I said before, it's been a long time I haven't been so excited with a framework... don't know why.

I tested threejs, which looks far more mature and rich, and yet I hadn't this excitment and fun.

Maybe rightly because of the BJS community or online tools : playground, cyos where we all share our attempts, success, failures, fun etc

Don't know  ;)


So, I'll try to PR.

There are rules (unknow to me) about branches, deadlines, etc. Ok, I agree  :)


Just when PR and where ? 

Link to comment
Share on other sites

Ya know... if "they" put one of your spherical harmonic meshes up on the big screen at the Paris show (and told folks it was a browser running BJS 2.0)...  the friggin' audience would drown themselves in drool and fall into a stupor of mesmerization.  BJS would instantly become so popular that we'd have to farm-out forum custodianship to a forum support company.  heh.


But ya can't show the spherical harmonics for the BJS 2.0 release... if it's not included in 2.0.  That would be deceptive.


If those French techies only knew what they were missing. eh?  :)


My idea:  50 inch flat screens, $500 usd.  Great little laptop, $500.  Bolt laptop to the back of flat screen, fire-up one of Jerome's timer-driven SH mesh, and hang the whole thing on the wall in the living room.  BEAUTIFUL!!!


Tip it down, it becomes a table for the laptop... so you can adjust things... tip it back up when done.  I've seen crappy art cost > $10,000.  Jerome's beautiful and programmable art... $1000.  Sigh. 


They don't know what they have.  They don't understand the power of the ribbon.  :)

Link to comment
Share on other sites

:lol:  :lol:  :lol:


another lead : I come with my laptop, I crack the congress hall wifi network and display on every building large screen a rotating SH with the blinking text "BABYLONJS ROCKS" underneath

without asking any permission


  :lol:  :lol:  :lol:


and in case some anti-terrorism cop would arrest me, I'll pretend it's DK's fault  :P




"a stupor of mesmerization"  :D : I just show the rotating SH to my 9 y old son, he just got hypnotized  :D  

"the friggin' audience would drown themselves in drool " : Michel Rousseau's demos are however far more impressive than all these tiny ribbon toys imo  !!!


btw, Wingy, I do really appreciate your support, but I'm so far just an enthusiastic user, not a genuine contributor. Many other real contributors, far more smart and productive than me, achieve to deal with all these (mysterious) contribution rules. So I will have to do the same, won't I ?


[EDIT] I just realized this forum engine has an emoticon limit per post !!! couldn't imagine this could exist [/EDIT]

Link to comment
Share on other sites

I know that managing releases on a project can be hell.

I saw many people quitting threejs because there were too numerous versions, documentation sometimes not related to the version they expected to work with, etc.


I don't know what rules or choices DK could have done about it.


Here's a KISS suggestion :

  • keep the master branch in continuous development mode,
  • automatize a nightly build on these sources, let's call it "babylon-now.js" (or whatever smarter),
  • keep the doc updated to this current build.

When a pertinent stage is reached, then copy the build and mark it with some version number : babylon-2.0.js. The same for doc.

Then let's assume to deprecate the n-1 version.


It's quite similar to the existing repo if I am not too wrong, except for the current build which doesn't exist.

We all know that standard users won't build their own babylon.js file and will just use a tagged released version ... according to their needs, tutos, examples they would find and derivate or help they could find in the forum or documentation. At best the very last one, else the former one.


Having a downloadable current build, near the last tagged released build, with its own (current) documentation will encourage users to test new features, to check bug fixes, and then to encourage contributions : fixes, enhancements, improvements, etc are available imediatly to everyone

(grrr.. my english is too poor to rightly describe my thoughts  :( )


In brief :

  • keep the last frozen tagged release and its doc,
  • propose a daily current build with a current doc.

And of course, the whole source hierarchy, tools, etc for developers.


This could be a way to have the users come closer to the developers and vice-versa.

Continous delivery has many advantages  :)

Link to comment
Share on other sites

I think you both should have a "Tl;dr" summarizing each post  ;)

Jerome, to your question - You can find the release tags here - https://github.com/BabylonJS/Babylon.js/releases . it all stays on the master with specific release tags stating that "version 2 consists of all commits until the last one". Kind'a :-) 


Tl;dr :

Master stays, new tag is created, everyone's happy.

Link to comment
Share on other sites

I'm terribly disappointed to read "On behalf of myself, as someone who completely dislikes when crap like this happens, I want to apologize, and say THANKS for putting-up " or " if this community tries to kill it" or "if "they"". Seriously, are you kidding me????


Just as a gentle reminder, we (davrous and I) spend ALL our spare time on Babylon.js, trying to create the best framework for 3D out there. We do that because we love that. We only ask for respect. I pay with my own money for the documentation or hosting of various tools that we offer.  I spend 4 hours PER DAY on babylon.js either on working on features or documentation or articles or PR check or responding questions here. Every day I come here to respond to almost all open question. Because I DO LOVE this community


As another gentle reminder, davrous and I contribute to more than 90% of the framework. So I think we deserve more than just this shit.


Reading this kind of comments makes me so sad. I'm literally demotivated. 


About the "shipping gate": There are 10 times more projects using babylon.js than you think (most of them are kept secret because they are used by companies that wants to gain competitive advantages using it. Even some microsoft projects internally use it). These customers need to work on STABLE release. So when we have time and according to the road map, we spend a lot of time (the time I would have been able to spend watching tv shows or reading books) validating a version, which means:

  • Checking every feature unitarily
  • Checking every feature with every other feature
  • Checking performance
  • Checking memory consumption
  • Checking compatibility with ALL webgl capable browsers
  • Checking demos, docs and greetings, trying to thank all that deserve it

This process takes AGES but this will allow me to define a new STABLE version. This tuesday or wednesday I will publish a release on githut (https://github.com/BabylonJS/Babylon.js/releases), move the 1.14 in previous folder, rename 2.0 beta to 2.0 (which will be frozen then) and start a 2.1 version. This 2.1 will be our nightly build.


Hence, Jerome, as soon as he wants, will be able to submit a PR that will be integrated quickly into 2.1 which in turn will be available for you early adopters to try it


For french reader, this post is exactly what we have here: http://www.catuhe.com/post/Le-syndrome-du-Puppy.aspx


Link to comment
Share on other sites

 @RaananW : so, I just PR (as soon as I can) my updated master file without caring about the release version, when it happens, etc.

I checkout the master, modify and PR. That's it ?




ts;wr : too short, won't read ?  :lol:



I understand people liking tl;dr stuff as they are so busy, they want to focus only on essential things, avoid dispersion, etc.


But... I personaly feel quite old school with this.

If someone needs to develop his toughts for 200 lines of text, I consider he has got his reasons and he probably wants to explain things accurately or in depth. And shorting all this to a tweet may be quite depleting imho.

The author has done the effort to write down his ideas for 200 lines, maybe can I make the effort just to read them ?  ;)

Maybe this practice will disapear with other neandethal men like me :D  ? 


ok, ok, I promise I'll try to adapt to modern world and then put some tl;dr; when writing a more than 3 lines post.

Huuu, may I use some old chinese proverb for tl;dr;:lol:

Link to comment
Share on other sites


To your question - I would wait with the commit till version 2 is tagged and released. Commit it to your master branch in the fork and wait. After 2.0 is out make an upstream merge and commit (to avoid conflicts).


And I do hope you don't take the tldr too seriously. Chinese proverbs are the best in those cases. I like quotes too, like Benjamin Franklin's famous quote "don't believe any quote you find on the internet". Or was it Abraham Lincoln? not sure...

Link to comment
Share on other sites


Ooopps, I feel sorry if I triggered all this buzz.  :(

That wasn't my intention ! 

And I know, for sharing  personal open source projects among french universities, what you are talking about in your french post. Really really the same feeling :angry: .


Maybe, something went wrong in the post exchanges (or my bad french/english translation). :(

I just initially asked how to PR for 2.0...and if it were too late, if the master would then be the next release because I didn't understand the correspondance between the master and the built version.

Thank for the answer about the process : removing the former stable, moving the current beta to stable, opening a new beta with its nightly build. The info I was looking for  :) . It's the very same I suggested and I didn't undestand it was still in production... feeling stupid.



I surely don't ask for any dispensation (please read back all my posts until here, even if they are tl;dr  :P ). I'm not even a real contributor for now !

I repeat I like this framework, I want to use it and contribute it if I can, and promote it to some new type of potential users (sysadmin devs), far away from game world.

I feel really sorry if things turn bad because of misunderstanding  :( and I understand you feel hurt.



Please keep motivation, you've done a huge work so far and so many people rely on your skills of genius !!!  :)  :)




BTW, I can host everything you need on university servers here (under your domain name) if you want, for free :) .

It's allowed to host non-commercial open-source project by our national IPS (renater : reseau national de la recherche et de l'education)

Link to comment
Share on other sites

I'm pretty sure this is misunderstanding (Wingnut is a really good guy)


Please do not apologize for anything. I do appreciate what you are adding to the framework and I'm definitely looking forward to have it into babylon.js :)


You will then become an official contributor (We will have tee shirt available soon :))

Link to comment
Share on other sites

@DK @RaananW :

Thanks guys

I think I will follow RaananW's advice and will wait for the 2.0 to be comitted as stable. I'll make sure on my side to have my code at the expected level quality (check for unnecessary mem allocation, less loops, etc)


Don't worry, I didn't take tl;dr; seriously  :D

They limit smiling emoticons, I would have written full lines of them  :D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...