Hi, i’m creating a MRT render target to do some post effects, everything is fine on windows and ubuntu, but when i open that page on mac, only the first attached frame buffer texture is rendered while the others are all empty, and the rendering result in the first attached frame buffer texture is also somewhat wrong. I tried to set the MRT texture number to 1, any the result in attached frame buffer texture is then right.
I make a PG to illustrate what we did https://playground.babylonjs.com/#KB2NJU#10
in our application, the results of the MRT is then used in the next pass as input textures.
It does not on Safari cause you are using WebGL 2 syntax which Safari does not support and their preview support is still not good enough ton support it.
My playground does not display any thing in the final screen because all the things is rendered into the MRT not the main framebuffer. Do you add some code to display it on the main screen?
it seems in PG the compiler is always webgl1? the browser told me "Error: VERTEX SHADER ERROR: 0:4: ‘version’ : #version directive must occur before anything else, except for comments and white "
My device should support it(gtx 1060), the same shader code in local typescript project will not crash on webgl2 mode and there is no error in console.
But with PG, the console has this line: “Babylon.js v4.1.0-beta.15 - WebGL1 - Parallel shader compilation” is this means that babylon is in webgl1 mode?
Now I’ve got the PG reproduce the same problem and i think i’ve found where goes wrong : https://playground.babylonjs.com/#83V1MB#12
you can have a try on mac(my device is MBP 13 2019 with intel iris plus 655)
My final shader merge the two framebuffer together and the result is like this:
Whenever i open PG in chrome on windows, the compiler is aways WebGL1, and in mac is aways WebGL2. But my local projects compiler on windows is WebGL2.