Using BabylonJS v4.2.1, I am seeing a rendering issue on iOS Safari 15.4 Beta 5 on an iPad Pro when adding both a
DefaultRenderingPipeline. The issue does not appear in the latest 5.0.0 of BabylonJS, or on my desktop non-beta version of Safari.
My project resembles a simple model viewer with a rotatable camera, so I have been able to recreate the issue in the default Babylon Playground example. You can view my example code here: https://playground.babylonjs.com/#SGLH1F
I have boiled the offending code down to 3 lines of code. When trying to rotate the camera using touch, the scene is not updated, though the code does reach the render loop every frame. I have commented directions in the code to get the scene working as expected, but the issue seems to present itself with some combination of
DefaultRenderingPipeline with HDR textures enabled and a pipeline sampling value greater than 1.
I have also include the snippet below for reference:
// For BabylonJS v4.2.1 on iOS Safari 15.4 Beta 5 on an iPad Pro, I am witnessing a render issue. // This example prevents rendering updates when attempting to rotate the camera in the Babylon basic demo. // I have stripped down my code to the below 3 offending lines. // To fix this example, you can perform any one of the below methods: // 1. comment out the utilLayer line // 2. change true to false in the pipeline instance // 3. change pipeline.samples to 1 (anything > 1 fails) const utilLayer = new BABYLON.UtilityLayerRenderer(scene); const pipeline = new BABYLON.DefaultRenderingPipeline("default", true, scene, [camera]); pipeline.samples = 8;
The problem also does not surface if I disable WebGL 2.0 in WebKit Experimental Features.