Rework mesh implementation
Closes: #605 Closes: #525 Closes: #456 Closes: #396
-
Implemented new mesh backing field logic which registeres each and every change inside the data
-
Update GPU data once per frame via
MeshManager.cs(if requested, defaulttrue) -
Prepared the possibility to track changed indices/index ranges (not yet completely implemented)
-
Re-Calculate the AABB for each mesh, each frame (only if necessary)
-
Use
ReadOnlySpan<T>where possible, pass only references to the mesh data until we arrive at theGLmethods -
Update all triangles from
ushorttouint(Android, Blazor, Desktop), no mesh triangles limitation toushort.maxanymore -
Follow-ups: implement and track each changed index range, implement the possibility to switch between
dynamic(CPU and GPU data present)static(CPU data isreadonly),GPUMesh(no more CPU data) mesh implementation