I’m loading it with LoadAssetContainerAsync and rendering it with the WebGL engine is working fine. But when I switch to WebGPU there are a lot of errors occurring.
Here is a playground link:
(you need to switch to WebGPU to be able to reproduce)
Errors like this are shown:
logger.ts:107 BJS - [11:27:00]: WebGPU uncaptured error (1): [object GPUValidationError] - Vertex buffer count (10) exceeds the maximum number of vertex buffers (8). - While validating vertex state. - While calling [Device “BabylonWebGPUDevice0”].CreateRenderPipeline([RenderPipelineDescriptor ““RenderPipeline_bgra8unorm_depth24plus-stencil8_samples4_textureState0””])
You probably don’t use all these uv buffers (probably only uv), so you should remove the other ones from the asset. You can also do it programmatically:
My guess is that ANGLE is able to analyze the shader and notice that some vertex buffers that are declared are in fact not used in the code, so they don’t bind them.
We do not yet support vertex pulling in standard/PBR materials. In addition, we do not have many more storage buffers available in shaders (10 storage buffers versus 8 vertex buffers on my GPU).