I test PBR NodeMaterial with Reflection on some mobile devices and there is something wrong on Safari, IOS devices.
iPhone12 pro max(IOS 15.4.1)
When building NodeMaterial, it says:
'textureCubeLodEXT':no matching overloaded function found
However, I find it is said the extension is supported on Safari.
Chrome(version:101.0.4951.44): No Error
Playground sample is here.(I include eruda, so you can see error information on mobile device)
sample.zip (695.6 KB)
Can you try to turn on webgl2 on these devices?
I am not able to repro from your sample in 15.4.1 ios can you share the complete log of the error ? it should contain the broken shader and might help us troubleshoot
It works! If I turn on webgl2, there is no error .
But I am a little bit confused, when I turn on the extension EXT_shader_texture_lod in webgl1, not only Safari but also Chrome tells me:
‘GL_EXT_shader_texture_lod’: extension is not supported
Does it mean this extension will not be supported anymore or should I turn on some settings?
This is really strange as I do not repro in webgl2 on ios I am really wondering what your device setup is maybe not the same renderer ? (Chrome and Safari are the same on ios → both are webkit under the hood so this is expected to be working the same)
Sorry for the late response. You’re right, Chrome is same with Safari. They both give error on the extension when webgl1 is on. I use this to test my devices’ supported extension, and it shows GL_EXT_shader_texture_lod is not supported on WebGL1.
My iphone not support
GL_EXT_shader_texture_lod too (webgl1.0). WebGL Report