Snapshot rendering and default play animations

Animations do not play for WebGPU when Snapshot rendering is enabled. Here is a playground:

The animation should play by default. It looks like we need to fix this at core?

Note this behaviour is also observed in Viewer @ryantrem.

You should definitely use the new SnapshotRenderingHelper class, it will make working with the fast snapshot mode a lot easier:

https://doc.babylonjs.com/setup/support/webGPU/webGPUOptimization/webGPUSnapshotRendering/#the-snapshotrenderinghelper-class

2 Likes

You should have a look in this one: Babylon.js docs

Basically in snapshot mode fast, you need to manually update meshes who are changing transform data.

You could do so this way assuming the order of compute would be correct: https://playground.babylonjs.com/?webgpu#WGZLGJ#10972

But in this case, if you start to update everything all the frames, it might be easier to not use snapshot fast.

2 Likes

ahah exactly what @Evgeni_Popov said :slight_smile:

1 Like

From docs:

So, if at some point something must change in the scene that is not supported by SR, you can disable the mode, apply the changes and re-enable SR afterwards.

That clears up general engine use! Thanks chaps.

@ryantrem So in terms of the Viewer, should we handle this check during animation if WebGPU is enabled? Since WebGPU may automatically be chosen.

Looking… will report back in the next day or two…

1 Like

Animated instanced meshes weren’t supported by the snapshot rendering helper. This PR will add support:

Once the PR is merged, this PG will work as expected:

2 Likes

There is now a PR open to support this in the Viewer as well: Viewer: Call updateMesh on SnapshotHelper by ryantrem · Pull Request #16166 · BabylonJS/Babylon.js

3 Likes