BabylonJS + WPF3D

Hi all,
I wrote to the .NET Core WPF github repo to ask for some improvements to WPF3D because I really like the simplicity of XAMl to describe and interact with a 3D scene, but I know that WPF3D is a simplified 3D engine at its core.

They answered me that they are open to suggestions, and since I know that the BabylonJS team is a Microsoft team, I wonder if the BabylonJS and the WPF3D team could cooperate to have WPF3D use the BabylonJS engine ported to C# and have the simplicity of XAML.

I don’t know if this is similar to BabylonNative, but I don;t think BabylonNative can use XAML 3D objects to describe a 3D scene.

However, here is the link to the github issue: WPF3D improvements. · Issue #2063 · dotnet/wpf · GitHub

Feel free to write your thoughts and thanks in advance,
Luca

1 Like

@Deltakosh can help you with this. He is the lead developer.

1 Like

Hello we did connect in the past with the Xaml3D team but they were not interested to run a JS engine inside their native code :slight_smile:

2 Likes

When webgpu comes out will they be more willing? If our js lib is more dynamic and perfomant then why wouldn’t they be interested in doing a wrapper for it? @Deltakosh

Is it because it’s single thread?

I guess it’s not feasible to Port it to C#, correct?

Is what I could find on it.

Technically it is but it has to be automatic because else the maintenance would be a nightmare

And in any case it would have to be integrated into WPF3D by the WPF .NET Core team, correct?

1 Like

Correct

1 Like

can transpiling TS to C# be done? As far as I know there is no equivalent to Roslyn for TS, unfortunately.

1 Like

How about:

  1. make WebGPU the needed standard GPU/GPGPU API for all the .Net supported platforms, including WASM, using Dawn for example, read about WebGPU Native here:
    Point of WebGPU on native
  2. produce a C# Babylon version based on this WebGPU API, abstracting the swapchain renderings so as to integrate the engine with each plateform separately, using the mechanisms they already provide: no need to modify WPF, UWP …

(1) by itself would be huge, (2) would be a game changer :wink:

Hey @pmonteil, did you check BabylonNative?

It looks awesome!

Will it be possible to embed it in WPF, UWP… applications, have it generate offscreen renderings and inject them in the UI of the embedding app? Will it be possible to let the embedding app generate vextex data, textures … and inject them in BabylonNatice scenes?

Adding @bghgary and @syntheticmagus

We had something working at some point (using Babylon Native to target a XAML swap chain panel), but when we switched to bgfx, this support was broken/removed, tracked by this issue. It should be possible to add this support back, but we haven’t been focusing on it so far.

Thanks for the explanation, best wishes for the Babylon Native project!

1 Like