Hey team! ( @Evgeni_Popov )
Can we set a floatArray ( float[nb] ) uniform in a way that works on both webgl2 & webGPU?
I’m using the PBRCustomMaterial.
Passing an array causes GPUValidationError
when using webGPU.
Simplified example;
I’m having a tough time finding detailed documentation on uniforms, especially the different kinds, sorry if an answer already exists!
Okay…
Replacing
this.AddUniform(‘vTestArray’, ‘float[12]’);
with
this.AddUniform(‘vTestArray[12]’, ‘float’);
seems to fix it?
Is this OK?
If it works then it must be ok (you are using the PBRCustomMaterial
which is not in core, so I don’t really know).
If you use a material plugin or a ShaderMaterial
, the method that let’s you define an uniform takes an array size in addition to the size of one element of the array.
1 Like
Thanks!
My biggest concern is if it breaks randomly on different systems.
The GPUValidationError was seemingly from vulkan not liking the way the array was created.
I’ll check out the material plugins, looks very interesting!