[Babylon Lite] Questions/Missing features

I was thinking to port my app to Babylon Lite (because its awsome :+1: ) but but i have some issues:

  1. Missing SSAO. Are there plans to support it?

  2. Missing Anti Aliasing (FXAA, SMAA …). I saw that you support TAA already. The problem is that it works only if the camera is not moving. For my case it would be the best to combine TAA with FXAA/SMAA or other techniques. Currently with BabylonJS i use FXAA while the camera is
    moving and TAA when the camera is not moving.

  3. How can i make sure mirrored meshes (negative scaling) are rendered correctly? I saw that the GLTF loader supports it but i need to implement a custom loader and this “reversed winding” logic seems to be internal. Could this be a public opt-in feature?

  4. How can i remove a cloned mesh corretly from the scene. If i clone a mesh with “cloneTransformNode” and afterwards i remove the clone with “removeFromScene” the whole application breaks because of an error. I think the issue is that shared GPU data is disposed here. How can i remove only the clone? I know that i could use thin instances but this gets more complicated because of dynamic materials and mirrored meshes.

Hey @Kesshi,

Great topics :slight_smile:

First - for missing features - we are doing our best to slowly-but-surely port all features to Babylon lite. When will SSAO move is still TBD. but eventually there is no reason that it wouldn’t. The list of features on Lite grows daily. Search for issues related to your request - if there already is an open issue, comment there. It will signal us for the need from the community.

Now, about 4 - this is a bug. or at least it sounds like one, if you can reproduce this in the lite playground it would be amazing.

And about 3 - i am not sure if it is a bug or a missing feature. maybe @ryantrem can answer here

Here a link for issue 4: Babylon Lite Playground

After 3 seconds i call removeFromScene and this will trigger this error in Chrome:

[Buffer (unlabeled)] used in submit while destroyed.
 - While calling [Queue].Submit([[CommandBuffer from CommandEncoder "frame"]]) 

Thank you so much! very helpful. I am making changes to removeFromScene, will make sure my upcoming PR will also include a fix for this. still identifying the issue.

PR (outside of the changed to removeFromScene) - fix(mesh): ref-count GPU buffers shared by cloneTransformNode to prevent double-free by RaananW · Pull Request #353 · BabylonJS/Babylon-Lite · GitHub

Ohhh you added automatic ref-counting :+1:
I was expecting a parameter like doNotDisposeBuffers or something like that for removeFromScene and i need to keep track of the clones myself but this is much nicer :smiley: