I've just released new code on Android and I'm having new issues trying to get it running on iOS. The metal shader is quitting with an error:
setVertexBytes:length:attributeStride:atIndex:]:1719: failed assertion `Set Vertex Bytes Validation length(4416) must be <= 4096.'
I thought at first this might be an issue with the 3D scene getting excessively complete, as this is my first release using instancing, but at the time this happens the app is only trying to render some non-instanced meshes. I'm still digging into this but so far I don't have a clue what to do about this.
This is with Gideros 2024.3 and the latest Xcode.
Comments
I'm also seeing a lot of graphical issues that look like RenderTarget:clear() isn't working, but maybe that's just a 2023.11 issue.
Likes: MoKaLux
Has anybody used 3D animation via buildGdx and had it work on iOS with the current libraries?
Here's a simple project that just displays a fish hook in 3D, made from an animated mesh and shaped by the code: http://www.pishtech.com/beta/hook.zip For me this works everywhere but on iOS where it fails with the failed assertion in SetVertexBytes mentioned above.
Likes: PaulH
The other is more likely: it is used for vertex attributes (vertices, texture coordinates, normals, etc), but only if their sizes are below 4096.
Except that the way is code is written, it would also be invoked if Metal couldn't a specific buffer when size is greater than 4096, probably due to resource starvation.
In Metal, there seem to be a limit on the number of buffer you can allocate (maybe 64k, I don't know). And you may have up to 4 buffers for a single mesh (including indices).
If that's what happens, I'll need to rework the way buffers are used in Metal, in a way similar to what I've done for OpenGL.
Likes: vitalitymobile
I don't manage to download it though, I get à 404 error.
Likes: MoKaLux
It just needs a change in line 49 of 3DLighting.lua
Likes: PaulH
Likes: PaulH
Likes: keszegh, MoKaLux, PaulH
Likes: MoKaLux, PaulH, pie
Likes: MoKaLux