Seems GlowLayer is not supported via the DefaultRenderingPipeline in Babylon Native. Getting an exception:
Exception thrown: 'System.IO.IOException' in System.Net.Sockets.dll
'NativeTestApp.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.4\System.Text.Encoding.Extensions.dll'.
The program '[3616] NativeTestApp.exe' has exited with code 0 (0x0).
To repro just add this to the babylon native example app:
var pipeline = new DefaultRenderingPipeline("defaultRPPostProcess", true, scene, [scene.activeCamera]);
pipeline.glowLayerEnabled = true;
you’ll want to add this here instead of using imageProcessingConfiguration.
Sorry, I was hoping to get to this soon, but I’m swamped at the moment. I can definitely look at it on Friday, hopefully sooner. Is this urgent for you?
i’ll take ‘glow layer doesn’t work’ as a repro The exception may be something on our end downstream. Let me know if you hit any roadblocks, i’ll try to dig further myself.
This is total hack for now, but if you put the following code before the NativeEngine is created in the JS code, it will force the shaders to be compiled synchronously.
BABYLON.NativeEngine.prototype.isAsync = function () { return false; }
Amazing as usual Gary. Unfortunately still getting the exception so there may be additional things going on , I will debug this further and keep you posted. Thanks so much again and have an excellent weekend!
Following back up on this. So we still are not able to get the glow effect to render using our own code but it does work using the native test app. We’re not getting a crash but we just dont see the glow
I noticed none of the observables were being called eg.onBeforeComposeObservable
after some debugging, looks like its failing this check:
Is there anything that could cause this check to fail that you might know of? We have an emissive mesh in the scene (the xbox nexus quad on the controller), so the glow should be getting applied to there.
I checked if the nexus mesh was included in the glow layer using glowLayer.hasMesh and it is included. Also onAfterRenderMeshToEffect is getting called for all meshes in the scene including the nexus mesh. This is consistent with what im seeing in the example app.
I also tried to just remove any DefaultRenderingPipeline stuff and just added the GlowLayer effect without any other post processing and it still does not work.
I’ll keep digging but wondering if you had anything that comes to mind…
this is the last little bit thats blocking us from launching our new back end renderer. Trying to get this resolved in the next week So close!