Gltf/glb limitation?

I try to load a gltf/glb model in cesium, it works fine on my Mac, but failed on my iPhone.

I got the following error:

[Cesium WebGL] Vertex shader compile log: ERROR: too many uniforms

[Cesium WebGL] Vertex shader translation failed.
An error occurred while rendering. Rendering has stopped.
RuntimeError: Vertex shader failed to compile. Compile log: ERROR: too many uniforms

Is there any limitation for the model file?

After check the, I guess the problem is caused by the value of “ Max Vertex Uniform Components:” It’s 2048 for iPhone, while my model has 2.1K vertex.

Do I have to simplify my models?

PS: I got the same result for gltf and glb format, no matter enabled the Draco compress or not.

Welcome to the Cesium Community!

You can test the limitations of gltf loading in Cesium with some example models here. It’s possible that you will need to simplify the model. Is it possible for you to send us the asset id of the model on Cesium ion or a copy of the model via for testing?

I have sent you the model with sandcastle, any news?

I was able to find this issue which is very similar to what you are experiencing, except it is from the fragment shader: Fragment shader failed to compile. too many uniforms · Issue #7823 · CesiumGS/cesium · GitHub. I posted a short follow-up in that issue. Please add any additional information for your case (iPhone version, browser, etc.). It looks like there are some suggestions on how to fix the issue, if you are up for opening a PR for the fix!